Справка по отладке Android ANR

#android

#Android

Вопрос:

Итак, мое приложение немедленно выдает ANR при запуске одного из моих классов. Я просматривал отладчик и пытался понять, что происходит. Я новичок в Android, и у меня нет опыта отладки. Итак, если бы кто-нибудь мог помочь мне разобраться в том, что происходит, это было бы здорово.

Мой onCreate():http://pastebin.com/QzT5KA0L

Мой GuiThreader (используемый в onCreate):http://pastebin.com/VCp7KegY

Вот что отображается на моей вкладке Debug при сбое приложения:

 ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord) line: 2268  
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord) line: 2284   
ActivityThread.access$1800(ActivityThread, ActivityThread$ActivityRecord) line: 112 
ActivityThread$H.handleMessage(Message) line: 1692  
ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
Looper.loop() line: 123 
ActivityThread.main(String[]) line: 3948    
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
Method.invoke(Object, Object...) line: 521  
ZygoteInit$MethodAndArgsCaller.run() line: 782  
ZygoteInit.main(String[]) line: 540 
NativeStart.main(String[]) line: not available [native method]  
  

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

1. не могли бы вы показать нам свой onCreate ()?

Ответ №1:

Игровой цикл должен быть в его собственном потоке. У меня нет опыта в такого рода вещах, но Android ожидает, что onCreate() метод завершится в короткие сроки, потому что он выполняется в потоке main / UI, который должен оставаться свободным для управления жизненным циклом приложения.