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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android性能测试工具之dumpsys

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android性能测试工具之dumpsys 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

補記: MAT(memory analyzer tool )是google 推薦的進行內存使用量分析的工具. 功能全面而強大!!!

首先看一下dumpsys有哪些功能:
dumpsys 用來給出手機中所有應用程序的信息,并且也會給出現在手機的狀態。
dumpsys [Option]
meminfo 顯示內存信息
cpuinfo 顯示CPU信息
account 顯示accounts信息
activity 顯示所有的activities的信息
window 顯示鍵盤,窗口和它們的關系
wifi 顯示wifi信息

從我的G14中可以看到它從以下service獲得所有的信息
Currently running services:
SurfaceFlinger
accessibility
account
activity
alarm
appwidget
assetredirection
audio
backup
battery
batteryinfo
bluetooth
bluetooth_a2dp
bluetooth_hid
bluetooth_network
clipboard
connectivity
content
cpuinfo
device_policy
devicestoragemonitor
diskstats
dropbox
entropy
hardware
input_method
iphonesubinfo
isms
location
media.audio_flinger
media.audio_policy
media.camera
media.player
meminfo
mount
netstat
network_management
notification
package

接下來,來看看Android系統是如何實現dumpsys的。
dumpsys的代碼在mydroid/frameworks/base/cmds/dumpsys/dumpsys.cpp
所有的dump信息都是由重載了Binder中的dump函數的類來完成:
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {

}
代碼很簡單,發現搜有dump的信息都是由defaultServiceManager(關于Android的ServiceManager的結構分析參見我之后的一篇文章)提供的由系統注冊的所有service來提供信息。
以meminfo為例:
它是在mydroid/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java中的setSystemProcess函數處被注冊的
SrviceManager.addService(“activity”, m);
ServiceManager.addService(“meminfo”, new MemBinder(m));

MemBinder->ProcessRecord->各個正在運行狀態的ApplicationThread的狀態(mydroid/frameworks/base/core/java/android/app/ActivityThread.java),從中得到需要的meminfo信息。

這其中其實牽涉到負責的Android的是如何管理Linux的進程,同時又是如何把Linux的進程管理起來提供各種信息給Java層使用。總之,關鍵還是package的管理和它的活動周期的管理問題。值得深入理解。

摘自 Melody_lu123

這是一個很好用的工具,在adb shell下可以使用,主要用來獲取一些系統service的信息,也可以對這些服務做一些簡單的控制。首先是獲得哪些service信息可以dump$ adb shell dumpsys | grep DUMP DUMP OF SERVICE AtCmdFwd: DUMP OF SERVICE SurfaceFlinger: DUMP OF SERVICE accessibility: DUMP OF SERVICE account: DUMP OF SERVICE activity: DUMP OF SERVICE alarm: DUMP OF SERVICE appwidget: DUMP OF SERVICE audio: DUMP OF SERVICE backup: DUMP OF SERVICE battery: DUMP OF SERVICE batteryinfo: DUMP OF SERVICE bluetooth: DUMP OF SERVICE bluetooth_a2dp: DUMP OF SERVICE clipboard: ....然后就是具體獲取某個服務的信息,比如電池使用信息:$ adb shell dumpsys batteryinfo比如抓某個package的進程的memory使用情況:$ adb shell dumpsys meminfo YourPkg再比如測試wifi功能,寫個script腳本:$ adb shell svc wifi enable # disable對應禁用wifi $ adb shell sleep 4 $ adb shell dumpsys wifi > wifiEnable.txt如果dumpsys不能用,檢查你的manifest.xml是不是加了這個permission:android.permission.DUMP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)Main stack:TaskRecord{438f1ed8 #9 A com.leaves.ipanel U 0}Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.leaves.ipanel/.MainActivity }Hist #2: ActivityRecord{4265b1b0 u0 com.leaves.ipanel/.ActivityA}Intent { act=com.leaves.ipanel.ActivityA flg=0x20000000 cmp=com.leaves.ipanel/.ActivityA }ProcessRecord{4292a550 2115:com.leaves.ipanel/u0a10061}Hist #1: ActivityRecord{42485758 u0 com.leaves.ipanel/.MainActivity}Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.leaves.ipanel/.MainActivity }ProcessRecord{4292a550 2115:com.leaves.ipanel/u0a10061}TaskRecord{426f4820 #2 A com.android.launcher U 0}Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.android.launcher/com.android.launcher2.Launcher }Hist #0: ActivityRecord{4291c7b0 u0 com.android.launcher/com.android.launcher2.Launcher}Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher/com.android.launcher2.Launcher }ProcessRecord{4267f0b8 636:com.android.launcher/1000}

總結

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

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