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

Рейтинг: 3Ответов: 1Опубликовано: 09.04.2015

Вот такая ситуация: падает приложение с ошибкой outOfMemoryError. Хочу отловить это событие и хочу, чтобы когда это случилось, JVM создал HPROF файл. Как запустить приложение на устройстве с определенными JVM флагами? Обычно это делалось просто -XX:HeapDumpOnOutOfMemoryError. Или может есть какие-то встроенные удобные тулзы в Android Studio? Потому что я хочу запихнуть этот HPROF файл в MemoryAnalyzer. Но, может, этот метод уже устарел?

Ответы

▲ 5Принят

HeapDumpOnOutOfMemoryError это флаг Oracle VM, в Dalvik и ART его нет.

В общем нужно или вручную создавать HPROF или если скажем проблема у заказчика - натыкать запись в лог состояние памяти по всему коду.

Ну и перехватывать OOMe тоже можно, только ловить не Exception a Error, в try-cach или глобально.

См. также видео с Google IO на эту тему - https://www.youtube.com/watch?v=_CruQY55HOk