除錯手冊:
一、anr資訊產生的原因:
(1). keydispatchtimeout(5 seconds) --主要型別按鍵或觸控事件在特定時間內無響應
(2). broadcasttimeout(10 seconds) --broadcastreceiver在特定時間內無法處理完成
(3). servicetimeout(20 seconds) --小概率型別 service在特定的時間內無法處理完成
1 基本資訊,包括程序號名,程序號,包名,系統build號,anr型別等等
2 cpu使用資訊,包括活躍程序的cpu平均佔用率,io情況等
3 執行緒堆疊資訊,所屬程序包括發生anr的程序,其父程序,最近有活動的3個程序等
4.當anr不是發生在system server程序時,mian log會有關鍵字"anr in」,如果anr發生在 system server程序,則main log一般不會記錄到關鍵字"anr in」;
5.system_server程序發生死鎖:搜尋關鍵字「am_anr」;
6.通過trace log得知anr發生在system_server程序,主線程在等待乙個鎖:
- waiting to lock <0x02e6b629> (a com.android.server.am.activitymanagerservice) held by thread 9
從此處無法得知問題點在**,根據第一節的介紹
vc 除錯資訊輸出 列印除錯資訊
1.cdumpcontext 該類沒有基類。這個類支援面向流的診斷輸出,以人能夠閱讀的文字。該類過載了 操作符。afxdump是乙個預宣告的cdumpcontext物件,可以方便使用。該物件只在mfc的debug版中有效。可以將調式資訊輸出到除錯輸出視窗或除錯終端。example for afxdu...
談ANR如何分析解決ANR 2
04 01 13 12 14.123 i process 220 sending signal.pid 21404 sig 3 發生anr的時間和生成trace.txt的時間 04 01 13 12 14.123 i dalvikvm 21404 threadid 4 reacting to sig...
ANR是什麼?怎樣避免和解決ANR
anr是什麼?怎樣避免和解決anr 並不希望每次都要處理這個對話方塊。因此,在程式裡對響應效能的設計很重要,這樣,系統不會顯示anr給使用者。activity 5秒 broadcast10秒耗時的操作 worker thread 裡面完成,handler message asyntask inten...