天天看點

android ANR執行個體分析

一.執行個體

// NOT RESPONDING: com.android.settings (pid 5255)

ANR in com.android.settings (com.android.settings/.SubSettings), time=11135301

Reason: Input dispatching timed out (Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.)

Load: 20.36 / 20.61 / 19.86

Android time :[2017-11-15 23:21:17.69] [11146.916]

CPU usage from 285704ms to 0ms ago (2017-11-15 23:16:20.372 to 2017-11-15 23:21:06.077) with 99% awake:

分析

(1)NOT RESPONDING: com.android.settings (pid 5255)

   設定子產品無反應 PID 5255

(2)38% TOTAL: 24% user + 13% kernel + 0% iowait + 0% softirq

    CPU運作正常,說明主線程被BLOCK了,導緻的子產品無反應

(3)"main" prio=5 tid=1 WaitingPerformingGc

   com.android.settings等待GC

(4)

Total number of allocations 183578333

Total bytes allocated 10GB

Total bytes freed 10GB

Free memory 2184B

Free memory until GC 2184B

Free memory until OOME 2184B

Total memory 192MB

Max memory 192MB

距離發生OOM還有 2184B,說明有記憶體洩漏,或記憶體使用不合理

記憶體對象18357萬個,GC過程需要掃描這些對象的巨大部分,導緻耗時很久