打印啟動(dòng)時(shí)間
首先要知道啟動(dòng)時(shí)間有多長(zhǎng),AndroidStudio中可以直接用logcat打印出來(lái)
image.png
好家伙爱咬,快10秒鐘了,死了算了魄缚。
trace工具
在你想要跟蹤的代碼塊前后分別插樁
Debug.startMethodTracing("sample");
Debug.stopMethodTracing();
生成的 .trace
文件會(huì)被保存在固定目錄下蛋欣,與 getExternalFilesDir()
返回的目錄相同础锐,即 /sdcard/Android/data/[YOUR_PACKAGE_NAME]/files
下瞭郑。這里的命名可以自己隨意胳徽。
使用 AS 查看
將 .trace 文件保存至電腦浴捆,直接拖入AS窗口蒜田,可直接打開(kāi)該視圖。
image.png
分析trace
上述圖片很容易看出选泻,主線程執(zhí)行了5秒鐘冲粤,從右邊的分析窗口中可以一步步點(diǎn)下去,點(diǎn)到最后就可以看到具體某個(gè)方法耗時(shí)了或者等待了页眯。再具體問(wèn)題具體分析了梯捕。
注意點(diǎn)
如果出現(xiàn)trace文件無(wú)法被解析,實(shí)測(cè)在這段代碼塊中如果出現(xiàn)了異常被try catch住的話窝撵,雖然能夠產(chǎn)生trace文件傀顾,但該文件并不能被解析,可以先分析是否存在異常碌奉,二分法排查你懂的短曾。