adb shell dumpsys meminfo 記憶體測試指標解析
adb shell dumpsys meminfo 記憶體測試指標解析
轉載連結:https://blog.csdn.net/jiangguangchao/article/details/85232761
https://blog.csdn.net/c_z_w/article/details/85336283?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
dumpsys 介紹
Dumpsys使用者系統診斷,它執行在裝置上,並提供系統服務狀態資訊
命令格式: adb shell dumpsys [system serbices]
常用dumpsys命令如下:
1、包資訊查詢
子命令格式:adb shell dumpsys package [-h] [-f] [—checkin] [cmd]…
2、activity資訊查詢
子命令格式:adb shell dumpsys activity [-a] [-c]…
3、網路資訊查詢
網路連線 adb shell dumpsys connectivity
網路策略 adb shell dumpsys netpolicy
網路狀態adb shell dumpsys netstats
網路管理adb shell dumpsys network_management
4、其他常用服務資訊查詢
記憶體 adn shell dumpsys meminfo
CPU adn shell dumpsys cpuinfo
幀率 adn shell dumpsys gfxinfo
顯示 adn shell dumpsys display
電源 adn shell dumpsys power
電池狀態 adn shell dumpsys batterystats
電池 adn shell dumpsys battery
鬧鐘 adn shell dumpsys alarm
位置 adn shell dumpsys location
dumpsys meminfo詳解
adb shell dumpsys meminfo [pkg] 可以用來檢視指定程序包名的記憶體使用情況
如下圖:
android程式記憶體被分為2部分:native和dalvik,dalvik就是java堆,普通java物件是在java堆分配,而bitmap是直接在native上分配,對於記憶體的限制是 native+dalvik 不能超過最大限制。
android程式記憶體一般限制在16M,也有24M的。
多說明,但是沒有解析的太清楚,我這裡分析彙總了一下。供大家引數。學習知識,要關注細節,懂與不懂差很多的呦!我說的是薪資:)。
Native Heap:Native程式碼分配的記憶體,虛擬機器和Android框架分配記憶體。關於什麼是Native程式碼,即非Java程式碼分配的記憶體。詳細介紹請找百度。
Dalvik Heap:Java物件分配的佔據記憶體
Dalvik Other:類資料結構和索引佔據記憶體
Stack:棧記憶體
Ashmem:不以dalvik- 開頭的記憶體區域,匿名共享記憶體用來提供共享記憶體通過分配一個多個程序可以共享的帶名稱的記憶體塊。匿名共享記憶體(Anonymous Shared Memory-Ashmem。Android匿名共享記憶體是基於Linux共享記憶體的,都是在tmpfs檔案系統上新建檔案,並將其對映到不同的程序空間,從而達到共享記憶體的目的,只是,Android在Linux的基礎上進行了改造,並藉助Binder+fd檔案描述符實現了共享記憶體的傳遞。