Страницы

Поиск по вопросам

понедельник, 13 мая 2019 г.

Как запустить android приложение с определенными JVM флагами?

Вот такая ситуация: падает приложение с ошибкой 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

Комментариев нет:

Отправить комментарий