Завершение работы OOM происходит, когда приложение убивается ОС - они не проявляются как сбои в системах с sh -отчетами, даже если они так же плохи с точки зрения пользователя.
Кому Отслеживая OOM, вы должны устранить все возможные источники закрытия приложения (пользователь закрыл приложение, приложение было обновлено, ОС была обновлена и т. д.), и если ничего из этого не произошло, у вас есть OOM. Эта техника описана в этом блоге Facebook Engineering:
https://engineering.fb.com/ios/reducing-fooms-in-the-facebook-ios-app/
В настоящее время мы используем Fabri c Crashlytics для отслеживания сбоев и событий OOM, например, многие другие. Fabri c Crashlytics исчезает с апреля 2020 года и был заменен на Firebase Crashlytics. На данный момент Firebase не планирует внедрять отслеживание OOM.
https://twitter.com/Arzhannikov_A/status/1073194994134065152
Реализация кода для проверки, было ли приложение принудительно закрыто и т. Д. c это довольно просто, за исключением случаев обнаружения cra sh в предыдущем запуске приложения. Насколько я могу сказать, единственный способ сделать это - внедрить PLCrashReporter и отследить, столкнулась ли система с cra sh.
Мне кажется, бананы, что Firebase не реализует эту функцию, которая является так важно предоставлять метрики для закрытия приложений, но это мир, в котором мы живем. Есть ли лучший способ сделать это или существующую библиотеку, которая не использует Fabri c Crashlytics для работы?