日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

app 性能

發布時間:2025/4/16 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 app 性能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android App優化之性能分析工具?https://www.jianshu.com/p/da2a4bfcba68

--------------

系列文:

  • 背景:Android App優化, 要怎么做?
  • Android App優化之性能分析工具
  • Android App優化之提升你的App啟動速度之理論基礎
  • Android App優化之提升你的App啟動速度之實例挑戰
  • Android App優化之Layout怎么擺
  • Android App優化之ANR詳解
  • Android App優化之消除卡頓
  • Android App優化之內存優化
  • Android App優化之持久電量
  • Android App優化之如何高效網絡請求
  • 今天聊下個人比較慣用的一些App性能測試和分析工具, 先上個圖:
    ![性能分析工具]

    tools_mind_node

    本文暫不對工具的使用做過多的深入.
    在后續的具體實例中會具體說明怎么用這些工具來達成分析目的和解決問題的.

    1, 官方工具

    一般來說, 學習一門新的技術, 最應該做的就是閱讀其官方文檔, 那是最權威的.
    Android本身給我們提供了很多App性能測試和分析工具, 而且大部分都集成到Android Studio或DDMS中, 非常方便使用.

    1.1 StrictMode

    • 說明
      顧名思義, "嚴格模式", 主要用來限制應用做一些不符合性能規范的事情. 一般用來檢測主線程中的耗 時操作和阻塞. 開啟StrictMode后, 如果線程中做一些諸如讀寫文件, 網絡訪問等操作, 將會在Log console輸出一些警告, 警告信息包含Stack Trace來顯示哪個地方出了問題.

    • 文檔

      • https://developer.android.com/reference/android/os/StrictMode.html
    • 作用

      • 主要用來做主線程優化分析

    1.2 Systrace

    • 說明
      Systrace是一個收集和檢測時間信息的工具, 它能顯示CPU和時間被消耗在哪兒了, 每個進程和線程都在其CPU時間片內做了什么事兒. 而且會指示哪個地方出了問題, 以及給出Fix建議.
      其以trace文件(html)的方式記錄. 可以直接用Chrome瀏覽器打開查看. 界面如下:
    Systrace
    • 文檔

      • https://developer.android.com/studio/profile/systrace.html
      • https://developer.android.com/studio/profile/systrace-walkthru.html
      • https://developer.android.com/studio/profile/systrace-commandline.html?hl=fy
    • 作用

      • 作用很多, 個人主要用來分析UI的繪制時間, 結合Hierarchy Viewer來提升UI性能.
      • 也可以用來發現耗時操作.

    1.3 Hierarchy Viewer

    • 說明
      Hierarchy Viewer提供了一個可視化的界面來觀測布局的層級, 讓我們可以優化布局層級, 刪除多余的不必要的View層級, 提升布局速度.
    Hierarchy Viewer

    有必要說明下的是:
    上圖紅框標出的三個點是關鍵分析數據. 左起依次代表View的Measure, Layout和Draw的性能. 另外顏色表示該View的該項時間指數, 分為:
    * 綠色, 表示該View的此項性能比該View Tree中超過50%的View都要快.
    * 黃色, 表示該View的此項性能比該View Tree中超過50%的View都要慢.
    * 紅色, 表示該View的此項性能是View Tree中最慢的.

    • 文檔

      • https://developer.android.com/studio/profile/hierarchy-viewer.html
      • https://developer.android.com/studio/profile/hierarchy-viewer-walkthru.html
      • https://developer.android.com/studio/profile/hierarchy-viewer-setup.html
      • https://developer.android.com/studio/profile/optimize-ui.html#HierarchyViewer
    • 作用

      • 用來做View層級分析, 可以分析出View Tree中的性能阻塞點, 以便對癥下藥, 提升布局性能.

    Hierarchy Viewer需要Root的機器(產品機沒有開啟ViewServer)才可以執行.
    可以使用第三方的開源的ViewServer來協助我們在未Root的機器上使用Hierarchy Viewer分析.

    1.4 TraceView

    • 說明
      一個圖形化的工具, 用來展示和分析方法的執行時間.
    TraceView
    • 文檔

      • https://developer.android.com/studio/profile/traceview.html
      • https://developer.android.com/studio/profile/traceview-walkthru.html
    • 作用

      • 分析方法調用棧以及其執行時間, 優化方法執行.

    1.5 Memory Monitor

    • 說明
      內存使用檢測器, 可以實時檢測當前Application的內存使用和釋放等信息, 并以圖形化界面展示.
    Memory Monitor
    • 文檔

      • https://developer.android.com/studio/profile/am-memory.html
      • https://developer.android.com/studio/profile/heap-viewer-walkthru.html
      • https://developer.android.com/studio/profile/allocation-tracker-walkthru.html
    • 作用

      • 用來做內存分析, 內存泄露排查的不二之選. 可以結合heap viewer, allocation tracker來分析.
      • 可以導出hprof文件結合第三方的MAT工具分析泄露點.

    1.6 Other Monitor

    • 說明
      Android Studio的Monitor還提供了其他三個Motinor --- CPU, GPU, Network.

    • 文檔

      • https://developer.android.com/studio/profile/am-cpu.html
      • https://developer.android.com/studio/profile/am-gpu.html
      • https://developer.android.com/studio/profile/am-network.html
    • 作用

      • 分別用來跟蹤監測CPU,GPU和Network的使用極其變化, 可以作為網絡優化, 流量優化和渲染優化等的一個指導. (個人并不常用到~)

    1.7 其他

    Android的開發者模式中也提供了較多的用來監測性能的選項, 可以用下:

    Developer options

    2, 第三方工具

    以下工具全部開源, 開源萬歲...

    2.1 Google的Battery Historian

    • 說明
      Google出品, 通過Android系統的bugreport文件來做電量使用分析的工具.

    • 文檔

      • https://github.com/google/battery-historian
    • 作用

      • 用來做電量使用分析.

    2.2 網易的

    • 說明
      針對Android App的CPU, 內存, 網絡, 電量等多項綜合的測試分析.

    • 文檔

      • https://github.com/NetEase/Emmagee
    • 作用

      • 比官方工具更適合國人使用來做App的整體性能分析.

    2.3 Square

    • 說明
      Square出品, 必屬精品.
      類似與App探針的內存泄露監測工具.

    • 文檔

      • https://github.com/square/leakcanary
    • 作用

      • 集成到App中, 用來做內存問題預防最好不過了.

    2.4 AndroidDevMetrics

    • 說明
      一個library, 用來檢測Activity生命周期執行性能, Dagger2注入性能以及幀率性能的工具.

    • 文檔

      • https://github.com/frogermcs/AndroidDevMetrics
    • 作用

      • 如果你的應用使用的Dagger2, 這個就比較必要了.

    3, 結語

    MAT沒有側重的提, 是因為這個工具在ADT時代比較常用, AS2.0之后, 本身的Memory Monitor越來越強大, 結合日益完善的第三方工具基本上可以完成內存方面的優化了.

    歡迎大家分享自己常用的App性能分析工具, 共同學習~



    作者:anly_jun
    鏈接:https://www.jianshu.com/p/da2a4bfcba68
    來源:簡書
    著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

    轉載于:https://www.cnblogs.com/mapu/p/8878714.html

    總結

    以上是生活随笔為你收集整理的app 性能的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。