利用simpleperf評估應用性能

Android Studio 包含 Simpleperf 的圖形前端,記錄在使用 CPU Profiler 檢查 CPU Activity 中。大多數用戶更喜歡使用該圖形前端,而不是直接使用 Simpleperf。

如果您更喜歡使用命令行,可以直接使用 Simpleperf。Simpleperf 是一個通用的命令行 CPU 性能剖析工具,包含在面向 Mac、Linux 和 Windows 的 NDK 中。

Simpleperf包含兩部分:simpleperf可執行文件和Python腳本。路徑:Android/sdk/ndk/20.0.5594570/simpleperf

simpleperf可執行文件的工作方式類似於linux-tools-perf,但是具有針對Android分析環境的一些特定功能:詳情參看simpleperf

Python 腳本根據功能劃成如下三部分:

  1. 用於記錄事件的腳本, like app_profiler.py, run_simpleperf_without_usb_connection.py.
  2. 用於報告的腳本, like report.py, report_html.py, inferno.
  3. 用於分析 profiling data的腳本, like simpleperf_report_lib.py.

1.事件

利用simpleperf評估應用性能

2.分析Android App性能

分析一個 Android 應用的性能可以按照如下三步走:

  1. 準備一個要分析的APP.

例如Google官方的實例:

<code>$ git clone https://android.googlesource.com/platform/system/extras
$ cd extras/simpleperf/demo
# Open SimpleperfExamplesWithNative project with Android studio, and build this project
# successfully, otherwise the `./gradlew` command below will fail.
$ cd SimpleperfExampleWithNative

# On windows, use "gradlew" instead.
$ ./gradlew clean assemble
$ adb install -r app/build/outputs/apk/profiling/app-profiling.apk/<code>

2.抓取性能數據:

<code>./app_profiler.py -p com.example.simpleperf.simpleperfexamplewithnative --compile_java_code  -a .MixActivity -lib /Volumes/lixinmu/google/SimpleperfExampleWithNative/app/build/intermediates/cmake/debug/obj/arm64-v8a//<code>

3.分析性能數據:

<code>python report_html.py/<code>

4.查看對應的性能分析數據:

利用simpleperf評估應用性能

通過數據我們可以看到各個線程佔用的CPU時鐘週期

3. app_profiler架構

利用simpleperf評估應用性能


分享到:


相關文章: