Blockcanary的使用以及電話冷啟動優(yōu)化實戰(zhàn)

背景:其實優(yōu)化內(nèi)存。比較重要的是找到哪方法比較耗時。然后優(yōu)化它。但是往往找那個方法比較耗時是最麻煩了。最笨的方法就是打Log看。有沒有什么工具能幫我們傻瓜式操作呢。不需要自己手動打Log看。當(dāng)然是有的。

BlockCanary框架就可以幫我們做到

1.下載BlockCanary

BlockCanary又叫AndroidPerformanceMonitor 是類似LeakCanary 的傻瓜操作工具。

可以在GitHub上找到,在GitHub搜索AndroidPerformanceMonitor。

image.png

附上As版本地址:https://github.com/markzhai/AndroidPerformanceMonitor
As的使用非常簡單。具體看上面網(wǎng)站。
但是系統(tǒng)開發(fā)很多都是用Eclipse。
再附上Eclipse版本
https://github.com/painson/BlockcanarySample-Eclipse

2.配置依賴

Eclipse版本的使用方法也蠻簡單。
下載Eclipse版的Demo.

image.png

1.依賴上

image.png

2.在我們的項目上加上這個AppBlockCanaryContext,用BlockCanaryContext.

image.png

3.在Application的OnCreate()加上

image.png
  1. AndroidManifest.xml加上
image.png

完成上面步驟就好了。

3.Blockcanary之電話冷啟動優(yōu)化實戰(zhàn)

配置好了。安裝Apk.會是這樣的效果

image.png

附帶右邊BlockS 的App。

殺進程,我們點擊Phone冷啟動看看會有什么效果。

image.png

看到有阻塞通知的通知。
點進去

image.png

抓到兩個在主線程阻塞的方法。同時顯示了阻塞多少毫秒。
點開第一個Item看看。

image.png

直接告訴你在CallLogGroupBuider這個類的equalDate( )的239行發(fā)生了阻塞。

image.png

找到這個方法。接著就是代碼分析了。
因為equalDate會調(diào)用很多次。這里不斷new SimpleDateFormat和每次都格式化都是耗時的。
我們就可以針對優(yōu)化這個方法。

感謝:

該庫最初由 markzhai 創(chuàng)建, 并在 魔都三帥 組織下與 nimengbo 和 zzz40500 共同維護和更新.

特別鳴謝Mr.Bao, android-cjj, chiahaolu在項目早期做出的貢獻。

原理分析:
http://www.itdecent.cn/p/cd7fc77405ac

注意:經(jīng)過一段時間的使用。發(fā)現(xiàn)有一個局限性:僅僅在主線程阻塞了500ms才能檢測到。

Traceview:

所以還需要另一個分析卡頓工具 :Traceview

介紹這篇文章:講得很詳細(xì)。我不重復(fù)了。
http://blog.csdn.net/innost/article/details/9008691/

最后編輯于
?著作權(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)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,769評論 25 709
  • 歷史是我們無法割舍的過去,這一大筆沉重的遺產(chǎn)在今天各人有各人的處置方法,單純解讀有之,重構(gòu)再造亦有,論說影響力,文...
    王家人寧閱讀 324評論 0 0
  • 3. 馬義明顯感受到有一道意味深長的目光在自己身上停駐許久,他絲毫不在意對方的打量,甚至還大大咧咧走到燈光更亮處。...
    吳辛口閱讀 607評論 0 0
  • 寫代碼不可避免有Bug,通常情況下除了日志最直接的調(diào)試手段就是debug;那么你的調(diào)試技術(shù)停留在哪一階段呢?僅僅是...
    東經(jīng)315度閱讀 544評論 0 0
  • 如果大家有印象的話,之前我還做過一期【雅美蝶,我居然在B站自學(xué)日語】的日語自學(xué)攻略,但可惜應(yīng)者寥寥。 大概是雅蠛蝶...
    幻夢邪魂閱讀 1,542評論 0 21

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