For users, OOM crashes are just like any other app crash, and most reporting platforms file them as a basic crash. The problem is developers don’t get granular details on why an app crashed, leaving them to fret over the scariest question any developer faces: what happened?
On iOS, developers who have Crashlytics and Answers Kits enabled on their apps will now see OOM events broken into their own categories. It tells a developer the overall sessions affected by OOM crashes across builds, and reports the raw counts of OOM events throughout an app’s builds (and compares them to the three most recent).
Curious how it’s done? Here’s how the Crashlytics team describes it:
We analyze your app’s event stream to come up with an explanation of why it terminated and if we can’t match it up it to a known reason for termination, we count it as an OOM event. And, since no changes to the Answers SDK were required, you will automatically get OOM reporting without needing to do any additional work (as long as you have both Crashlytics and Answers installed).
More information is always better, and OOM reporting lets developers see where they’ve failed versus where the device has. Pinterest, an early adopter of Crashlytics OOM reporting, says “we’re shipping iOS app updates every two weeks to millions of people. Using the new OOM insights, we have been able to track our memory optimizations and have confidence in the stability of each release.”
Because app development is an iterative process — and there are iPhones in the wild with 16GB memory (or worse!) — this new OOM reporting feature will come in handy.