沒有權(quán)限查看ANR時怎么操作

https://blog.csdn.net/xjz696/article/details/97958441
解決方案:做Android研發(fā)的大家應(yīng)該都知道adb有個命令叫bugreport,至于這個命令是干嘛的大家可以自己去百度去Google,今天主要講怎么用這個命令去拿到ANR的trace信息。

Step1: 將發(fā)生ANR的手機打開"開發(fā)者選項"并啟動"調(diào)試模式"(不會的自行百度)

Step2:將手機連接到電腦上

Step3:在電腦的命令行里面執(zhí)行命令 "adb bugreport anrlog.zip" (anrlog.zip是生成文件的名字,自己可以隨便寫),這里有個前提是你的電腦裝了adb,沒裝的自行百度如何安裝。

Step4:解壓生成好的anrlog.zip文件,大概是下圖的結(jié)構(gòu),打開第一個文件,也就是體積最大的那個文件。


image.png

Step5:文件打開一看亂七八糟啥都有,其實這就對了,那么我們開始分析這個文件,找出trace信息。

搜索關(guān)鍵字: "VM TRACES AT LAST ANR",一般就能定位到下圖的位置,你看看進程名和時間跟你的進程對上不,對上那就OK了,順著往下翻就是這次ANR的trace信息了。


image.png

Step6:至于分析ANR到底是啥原因引起,那就學問大了去了,我一般也就是分析下主線程卡在哪里了,就跟下圖一樣。如果一眼看不出來,那就繼續(xù)去搜索前人的經(jīng)驗吧,怎么根據(jù)trace信息分析ANR。

如果分析不出來需要查看cpu以及內(nèi)存的占用信息,"CPU usage from"這個關(guān)鍵字可以搜到anr發(fā)生前后cpu的占用情況。


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容