2015-12-05 2 views
2

Я добавляю Activity to activityStack, когда Activiy исполняет Oncreate. аварии. Завершить все действия в UncaughtExceptionHandler.Ошибка ANR после сбоя

public void finishAllActivity() { 
    Activity activity; 
    while(!activityStack.empty()){ 
     activity = activityStack.pop(); 
     activity.finish(); 
    } 
} 

журнала:

12-05 10:35:38.515: D/testException(13404): com.orimuse.android.activity.message.FirendCircleActivity finish! 
12-05 10:35:38.517: D/testException(13404): com.orimuse.android.activity.homepage.MainActivity_ finish! 
12-05 10:35:39.017: W/ActivityManager(752): Activity pause timeout for ActivityRecord{39eba0cf u0 com.orimuse.android/.activity.message.FirendCircleActivity t2550 f} 
12-05 10:35:40.029: W/PackageManager(1499): Failure retrieving resources for com.orimuse.android: Resource ID #0x0 
12-05 10:35:48.525: W/ActivityManager(752): Activity destroy timeout for ActivityRecord{21cd14af u0 com.orimuse.android/.activity.homepage.MainActivity_ t2550 f} 
12-05 10:35:49.381: W/ActivityManager(752): Activity destroy timeout for ActivityRecord{39eba0cf u0 com.orimuse.android/.activity.message.FirendCircleActivity t2550 f} 
12-05 10:36:11.756: E/WifiStateMachine(752): WifiStateMachine starting scan for "orimuse-5"WPA_PSK with 5745,2412 
12-05 10:36:31.762: E/WifiStateMachine(752): WifiStateMachine starting scan for "orimuse-5"WPA_PSK with 5745,2412 
12-05 10:36:38.896: W/BroadcastQueue(752): Receiver during timeout: ResolveInfo{26e76784 com.orimuse.android/.activity.xg.MyPushReceiver m=0x108000} 
12-05 10:36:43.186: E/ActivityManager(752): ANR in com.orimuse.android 
12-05 10:36:43.186: E/ActivityManager(752): Reason: Broadcast of Intent { act=com.tencent.android.tpush.action.FEEDBACK flg=0x10 pkg=com.orimuse.android cmp=com.orimuse.android/.activity.xg.MyPushReceiver (has extras) } 

Проблема заключается в Уничтожая активность или MyPushReceiver?

ответ

2

В вашем приложении есть BroadcastReceiver.

Ваш метод OnReceive() в BroadcastReceiver работает дольше, чем 10 секунд, в то время как он должен закончить ранее (обратите внимание, что OnReceive() из BroadcastReceiver называется на главном потоке приложения)

Смежные вопросы