Twitter has added new reporting to its Crashlytics offering to let developers know if their iOS app has crashed as the result of an out-of-memory (OOM) event. With additional insights, app makers will be better able to prepare for and address issues that cause OOM to occur.
An OOM event happens when an app is terminated because a mobile device runs out of memory. Users will chalk these instances up to an ordinary app crash, but Crashlytics can now properly diagnose the problem so developers can better assess how to fix it.
“OOM events are difficult to report because iOS doesn’t provide any direct mechanism to detect them, and they can be caused by factors beyond your app environment and control,” wrote Twitter software engineer Sean Curran. Developers enable Crashlytics and the Answers Kit to give Twitter live data around an app’s performance. Twitter then applies a “server-side process of elimination to this data stream” to find any OOM events in the app.
From there, the use of “intelligent heuristics” comes into play, meaning that the app’s event stream is analyzed to come up with a reason for its termination. If the occurrence can’t be attributed to a “known reason,” it’s deemed to be an OOM event. Data is broken out daily and, with this information, developers should be able to “better triage and spend [their] time investigating problems on your most-used devices.”
Twitter claims that with this reporting, developers can see the overall percentage of app sessions that are affected by OOM events across all builds. It also shows data based on individual builds. The reports can help answer questions like “Is my app being terminated more on one build than on another?”
This is just the latest update that Twitter has made to its Crashlytics product, which it acquired in 2013. In 2015, it announced the addition of Velocity Alerts, which generate reports around app crashes. Then, during the Flight developer conference, the company debuted features around multiple releases, iOS error logging, regression detection, and tvOS support.
It should be noted that today’s feature only impacts iOS apps.