Skip to content
FIRERUN.

The BaaS & deploy-platform newsroom for builders

Subscribe

Firebase

Firebase Crashlytics Now Separates Android 17's Memory Kills

Crashlytics now separates Low Memory Kills from Out of Memory exceptions on Android 17 devices, surfacing what Android's new memory limits are doing.

Abstract flat-vector editorial illustration for "Firebase Crashlytics Now Separates Android 17's Memory Kills"

Firebase Crashlytics now groups memory-related app terminations on Android 17 and higher into their own distinct issues, splitting Low Memory Kills apart from Out of Memory exceptions instead of lumping both into a single bucket, according to Firebase’s Android SDK release notes, last updated July 10, 2026. The change lives in the Crashlytics console, no SDK update required, and it arrives as Android 17’s stricter memory enforcement starts showing up in crash-free rates developers otherwise can’t explain.


Why this needed fixing

Android 17, which Google shipped as stable on June 16, 2026, enforces app memory limits based on a device’s total RAM. Exceed the limit and the system kills the process outright. Before this release, that kill often reached Crashlytics as a bare process termination with no stack trace attached, indistinguishable from an unrelated Low Memory Kill triggered by the system reclaiming RAM under pressure. A memory leak inside the app and normal OS-level memory reclamation are two different problems, and both showed up as the same undifferentiated crash bucket.

Google flagged the platform side of this gap ahead of the stable release. An Android Developers Blog post from June 2 describes two new event-driven exit triggers Android 17 attaches to ApplicationExitInfo: TRIGGER_TYPE_OOM, which captures a Java heap dump at the exact moment an OutOfMemoryError is thrown, and TRIGGER_TYPE_ANOMALY, which fires ahead of a system kill triggered by excessive binder activity or a breached memory threshold. The same post notes that a kill from Android 17’s new memory limiter tags ApplicationExitInfo.getDescription() with MemoryLimiter, giving Crashlytics an actual signal to group on instead of guessing.


What changes for developers

Crashlytics reading that richer exit data is what makes the new grouping possible. An app crashing because it’s leaking memory now surfaces as an Out of Memory issue distinct from Low Memory Kills caused by the system reclaiming RAM from a backgrounded app. The two call for different fixes: the first means profiling your own allocations, the second might mean nothing is wrong with your code at all, just that the device ran low on RAM elsewhere.

This grouping only applies to reports coming from devices actually running Android 17. Firebase’s release note doesn’t retroactively reclassify older reports, and apps whose install base is still mostly on Android 16 and earlier won’t see much change in their Crashlytics dashboards yet. Android 17 rolled out first to Pixel 6 and later, so the split issues will fill in gradually as the update reaches more devices.


Key Takeaways

  • Firebase Crashlytics now separates Low Memory Kills from Out of Memory exceptions into distinct issues, but only for crashes reported from Android 17+ devices.
  • Android 17’s memory limiter can kill an over-budget app outright; it tags the exit reason MemoryLimiter via ApplicationExitInfo, per Google’s June 2 developer blog post.
  • Two new Android 17 exit triggers, TRIGGER_TYPE_OOM and TRIGGER_TYPE_ANOMALY, capture heap dumps at the moment of failure, the data Crashlytics now uses to tell the two crash types apart.
  • Nothing changes for apps whose users are still mostly on older Android versions; the benefit shows up as the Android 17 install base grows.

Stay in the loop

Get new articles in your inbox

We'll only email you when a new article drops. Unsubscribe anytime.