Вот такая ситуация: падает приложение с ошибкой outOfMemoryError. Хочу отловить это событие и хочу, чтобы когда это случилось, JVM создал HPROF файл. Как запустить приложение на устройстве с определенными JVM флагами? Обычно это делалось просто -XX:HeapDumpOnOutOfMemoryError. Или может есть какие-то встроенные удобные тулзы в Android Studio? Потому что я хочу запихнуть этот HPROF файл в MemoryAnalyzer. Но, может, этот метод уже устарел?
Ответ
HeapDumpOnOutOfMemoryError это флаг Oracle VM, в Dalvik и ART его нет.
В общем нужно или вручную создавать HPROF или если скажем проблема у заказчика - натыкать запись в лог состояние памяти по всему коду.
Ну и перехватывать OOMe тоже можно, только ловить не Exception a Error, в try-cach или глобально.
См. также видео с Google IO на эту тему - https://www.youtube.com/watch?v=_CruQY55HOk
Комментариев нет:
Отправить комментарий