Я пытаюсь отлаживать таинственный крах моего приложения для Android, которое, как представляется, происходит в условиях низкой памяти. Источники приложения, о котором идет речь, доступны от https://bitbucket.org/stativ/chmupocasi. Пакет приложения является cz.jirkovsky.lukas.chmupocasi
Отладка сбойной памяти (связанные с потоком?)
Что происходит, что, когда телефон начинает иссякать на память, и я пытаюсь снова открыть приложение из списка последних приложений (тот, который показывает после долгого нажатия Home кнопку), приложение аварийно завершает работу.
Я попытался отладить приложение с помощью Android Studio, но приложение всегда сработает, прежде чем ударить любую из точек останова в onCreate() и onStart() основной активности, что делает невозможным отладку. Что еще хуже, что даже LogCat не содержит какой-либо информации, связанной с единственной линией показано, когда приложение выходит из строя является:
I/ActivityManager( 428): Displayed cz.jirkovsky.lukas.chmupocasi/.MainActivity: +1s45ms (total +23m23s835ms)
Полный LogCat доступен в http://pastebin.com/TtSuqxCW, в случае, если я что-то не хватает.
Наконец, я попытался подключить отладчик к приложению после его сбоя, когда отображается диалоговое окно Android «К сожалению приложение остановлено». Я не вижу, чтобы какой-либо из моих кодов запускался в любом потоке. Вот то, что «Экспорт Нить» содержит:
<1> [email protected], prio=5, in group 'main', status: 'RUNNING'
at android.os.BinderProxy.transact(Binder.java:-1)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:3147)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:76)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
at dalvik.system.NativeStart.main(NativeStart.java:-1)
<10> [email protected], prio=5, in group 'main', status: 'RUNNING'
at dalvik.system.NativeStart.run(NativeStart.java:-1)
<9> [email protected], prio=5, in group 'main', status: 'RUNNING'
at dalvik.system.NativeStart.run(NativeStart.java:-1)
<8> [email protected] daemon, prio=5, in group 'system', status: 'WAIT'
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:214)
at java.lang.Thread.run(Thread.java:856)
<7> [email protected] daemon, prio=5, in group 'system', status: 'WAIT'
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:401)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:169)
at java.lang.Thread.run(Thread.java:856)
<6> [email protected] daemon, prio=5, in group 'system', status: 'WAIT'
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:364)
at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:129)
at java.lang.Thread.run(Thread.java:856)
<5> [email protected] daemon, prio=5, in group 'system', status: 'WAIT'
at dalvik.system.NativeStart.run(NativeStart.java:-1)
<3> Signal [email protected] daemon, prio=5, in group 'system', status: 'WAIT'
at dalvik.system.NativeStart.run(NativeStart.java:-1)
<2> [email protected] daemon, prio=5, in group 'system', status: 'WAIT'
at dalvik.system.NativeStart.run(NativeStart.java:-1)
Если я пытаюсь изучить основной поток, я могу видеть, что есть необработанное исключение где-то в ThreadGroup:
No such instance field: 'nthreads'
Любые идеи, как отладить такой крах или как получить дополнительную информацию об этом?