Skip to content

Capture Android 17 MemoryLimiter process kills #5908

Description

@gustav-es

Problem Statement

Android 17 (API 37) enforces per-app memory limits based on the device's total RAM. When an app exceeds its limit, the system terminates the process.

This is not a java.lang.OutOfMemoryError. No exception is thrown, no signal is raised, and no stack trace is produced — the process simply disappears. Neither UncaughtExceptionHandlerIntegration nor the NDK handler sees anything, so the SDK reports nothing at all.

Solution Brainstorm

AnrV2Integration already polls ActivityManager#getHistoricalProcessExitReasons() at startup and discards everything that isn't REASON_ANR. Memory-limiter kills show up in that same list as REASON_OTHER with getDescription() containing "MemoryLimiter:AnonSwap"

So using that same mechanism doesn't sound too challenging.

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions