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軟體不顯示懸浮窗,可以在手機中設定,具體自己百度吧。