Emmagee--APP性能測試工具的基本使用
一、Emmagee介紹
Emmagee是監控指定被測應用在使用過程中占用機器的CPU、內存、流量資源的性能測試小工具。
該工具的優勢在於如同windows系統性能監視器類似,它提供的是數據采集的功能,而行為則基於用戶真實的應用操作
支持SDK:Android2.2以及以上版本
二、為什麽使用Emmagee?
1、開源
2、使用方便,無需root權限
3、可以監控單個應用性能
4、浮窗顯示實時展示數據
5、CSV格式保存性能數據,方便轉換為其它格式
6、用戶自定義采集性能數據頻率
7、支持2.2以及以上版本
三、Emmagee詳細功能介紹
1、檢測當前時間被測應用占用的CPU使用率以及總體CPU使用量
2、檢測當前時間被測應用占用的內存量,以及占用的總體內存百分比,剩余內存量
3、檢測應用從啟動開始到當前時間消耗的流量數
4、測試數據寫入到CSV文件中,同時存儲在手機中
5、可以選擇開啟浮窗功能,浮窗中實時顯示被測應用占用性能數據信息
6、在浮窗中可以快速啟動或者關閉手機的wifi網絡
四、Emmagee如何使用?
1、安裝Emmagee應用
apk下載地址:https://github.com/NetEase/Emmagee/releases
2、啟動Emmagee,右上角設置采集頻率,列表中會默認加載手機安裝的所有應用
3、選擇你需要測試的應用,點擊“開始測試”,被測應用會被啟動
4、開始你的功能測試吧,測試過程中會自動記錄相關性能參數
5、(重要)測試完成後回到Emmagee界面,點擊“結束測試”,測試結果會保存在手機指定目錄的CSV文件中
生成的CSV文件內容見圖:
6、將csv數據拷貝到excel中(或另存為excel文件)生成圖表,使用自帶的統計圖標功能生成統計圖,即可清晰看到整個操作過程中cpu、內存等關鍵數據的變化。
生成統計圖步驟:
1)將“時間”列去掉日期,僅保留時分秒;
2)將不需要的列隱藏,保留需要分析的列;
3)生成圖表;
以下為某個項目的app生成的圖表:
數據性能指標:
- 應用占用內存PSS(MB):應用當前占內存的大小;
- 應用占用內存比(%):應有占總內存的百分比;
- 機器剩余內存(MB):機器當前剩余內存;
- 應用占用CPU率(%):應用占用總CPU的百分比;
- CPU總使用率(%):CPU的總使用率,包括當前應有,和系統的所有運行的應有;
- CPU0-CPU3是因為手機是多核的(4核顯示cpu0-cpu3,10核顯示到cpu0-cpu9)
- 流量(KB):從檢測開始共耗用的流量;
- 電量(%):剩余電池的百分比,包括其他應用的,這個是有誤差的,所以測試期間盡可能關閉其他軟件,或者期間別操作其他的應用,避免帶來誤差;
- 電流(mA):小於0是放電大於0是充電;
- 溫度(C):手機當前的溫度;
- 電壓(V):未知;
- 幀率:不確定是兩次取數之間的平均幀率還是取數據的瞬間幀率。
五、設置
1、采集數據可以在Emmagee右上角設置中設置采集頻率,默認為5;
2、郵件配置:
六、常見問題及解決方案
1. 以下不受支持的設備意味著某些性能數據將在監控時顯示“null”或“N/A”;
Unsupported Performance Data | Devices | Known Issues |
---|---|---|
CPU,Current | Xiaomi MI 1,MI 2 | CPU usage occasionally is higher than 600% when using "top" command |
Current | Samgsung Galaxy Nexus、HuaWei Honor 4C | These devices do not include the electric current values in battery drivers |
Start time | Xiaomi MI 2, acer v360 |
These devices do not contain the ActivityManager‘s Displayed message from the logcat |
2. excel在打開CSV文件時可能會出現亂碼的情況
因為excel打開CSV默認使用ANSI編碼,如果手機上保存的CSV是utf-8或其他編碼,就會出現亂碼,這裏使用一下特別的轉碼技巧,
先在類似“Emmagee_TestResult_(時間).csv”上右鍵單擊,用“記事本”打開,然後點擊“文件—另存為”,在編碼那裏選擇“ANSI”,保存,然後用excel打開即可解決亂碼的問題。
註:
1. 已知部分不支持的機型可在此查閱:https://github.com/NetEase/Emmagee/wiki/Some-devices-are-not-supported;
2. 電流: 小於0是放電大於0是充電;
3. 啟動時間: 為空是應用已啟動或者未搜集到啟動時間;
4. N/A: 不支持或者數據異常;
5. 采集數據可以在Emmagee右上角設置中設置采集頻率,該實例采用的是5秒;
6. Emmagee軟件不顯示懸浮窗,可以在手機中設置,具體自己百度吧。
Emmagee--APP性能測試工具的基本使用