首先稍做分析一下測試環境:我們知道cpu和記憶體占用是乙個實時變化的狀態,而市面上還沒有具體的哪款android應用能做到實時監控cpu和記憶體占用並使用log日誌儲存。考慮到android的底層框架是基於linux的平台,所有我們可以通過linux的資源監控命令來實現對android平台的資源實時監控。
要做到上邊的測試環境的實現,需要具備以下幾點:
1、被測試的手機具備root許可權:因為涉及到底層的linux命令,需要讀取或執行相應的檔案。至於如何root你的手機,不同型號的手機root的方法不一樣,這裡就不做介紹了。具體的可以在網上搜尋一下自己手機型號的root教程,這裡就不做介紹了。
2、需要搭建android的開發環境:因為我們需要監控的是具體的某個應用資源占用的情況,所以需要知道這個應用對應的「安裝的包名」是什麼,這就需 要使用android開發環境中ddms模組中的devices中檢視,當啟動被測軟體時,其主應用程式的安裝包名一般就會在列表的最下端出現(如 google地圖等除外,開機就啟動了)。
由於篇幅有限,具體的android開發環境的搭建流程,可以參見網路上的教程,這裡就不贅述了。
3、通過linux命令監控。前邊都是一些初始的準備條件,下邊其實就是實際的操作流程:
(1)adbshell(進入linux的底層)
(2)echo 3>/proc/sys/vm/drop_caches (清除一下系統cache)
至於上邊每一列代表什麼含義呢?由於使用到了復合查詢「管道符」的方式,所以必須擁有root許可權,否則grep的命令無法識別。
在這裡我們看到cmd並沒有顯示出所對應的列的標題,所以我們可以單獨通過top命令來了解到:
|--cpu%:cpu佔用率
|--rss:實際占用的物理記憶體數,單位kb
我們可以針對不同的業務,列印出不同的「標籤」,用於區別現在從事的那個業務,並為後期分析各業務模組中cpu和記憶體的占用以及對比使用。
上邊就是對具體的某款android應用的評測的資料的獲取,我們將日誌複製到excel的**中,並畫出相應的資料表。
android應用效能測試(二)FPS
這種方法官網給了詳細說明 這裡不再贅述,這種方法的優點是使用方便。但是有個很大的缺點 遊戲的fps資料獲取不到,所以不推薦大家使用這個方法,僅作了解。1 adb shell dumpsys su ceflinger latency 獲取幀延時資料 2 adb shell dumpsys su cef...
Android應用效能優化
記憶體,ui,電量 1.記憶體 首先簡單介紹一下android系統記憶體管理機制.記憶體共享 預設情況 string vmheapsize systemproperties.get dalvik.vm.heapsize 16m 只有16m.可以通過在device.mk檔案中設定 product pr...
Android應用效能優化
1 anr 2 listview 卡頓,不流暢 3 activity啟動慢 4 動畫不流暢,啟動前卡頓 5 自定義view啟動慢 6 oom 7 資料庫大量操作 8 長時間執行後,程式變慢 1 語言層解決問題,語法上提高效能 2 合理的資料結構和演算法 3 布局優化,布局深度控制 4 工作執行緒與u...