自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android APP性能測試--GPU、耗電、流量、crash、 lint警告

移動開發(fā) Android
本篇我們來介紹Android APP性能的GPU渲染、耗電量、網(wǎng)絡流量消耗、crash崩潰檢測、lint警告這5個模塊。

本篇我們來介紹GPU渲染、耗電量、網(wǎng)絡流量消耗、crash崩潰檢測、lint警告這5個模塊。

[[418821]]

1.GPU渲染

GPU渲染是指在一個像素點上繪制多次(超過一次):顯示一個什么都沒有做的activity界面算作畫了1層,給activity加一個背景是第2層,在上面放了一個Text View(有背景的Text View)是第3層,Text View顯示文本就是第4層,僅僅只是為了顯示一個文本,卻在同一個像素點繪制了四次,這是一定要優(yōu)化的。過度繪制對動畫性能的影響是極其嚴重的,如果你想要流暢的動畫效果,那么一定不能忽視過度繪制。

1.1 測試方法

1)手機自動的Debug GPU overdraw

  • 打開手機—>設置—>開發(fā)者選項—>調(diào)試GPU過度繪制—>顯示過度繪制區(qū)
  • 打開被測的應用

GPU過渡渲染不同的顏色代表不同的繪制程度

  1. 原色:無過渡繪制
  2. 藍色:繪制一次 (理想狀態(tài))
  3. 綠色:繪制二次
  4. 淺紅:繪制三次 (可以優(yōu)化)
  5. 深紅:繪制四次 (必須優(yōu)化)

測試指標:

  • 控制過渡繪制為2x
  • 不允許存在4x過渡繪制
  • 不允許存在面積超過屏幕1/4的3x過渡繪制

2.耗電量

測試應用對電量的消耗前需要對手機本身的電量消耗有個大概了解,測試前先看規(guī)定時間內(nèi)手機正常待機下(重啟后待機)電量消耗為多少。然后再啟動待測試APP看看消耗的電量增加了多少,然后取兩者之間的差值。

2.1測試點

  • 測試手機安裝目標APK前后待機功耗無明顯差異;
  • 常見使用場景中能夠正常進入待機,待機電流在正常范圍內(nèi);
  • 長時間連續(xù)使用應用無異常耗電現(xiàn)象。

2.2 測試方法 :

前提:先關閉所有的應用,再打開被測app

  • 使用第三方測試工具:GT等,只需要測試的電流靜置一晚,待機電流在正常范圍內(nèi)即可。一般是被測應用對比待機電流<=2mA。
  • 使用adb命令

具體測試方法如下:

1. 測試環(huán)境:

  • 1)android手機,wifi/4g

2. 測試步驟:

  • 清除已有的耗電量數(shù)據(jù)
  1. adb shell dumpsys batterystats --enable full-wake-history 
  • 設備耗電量數(shù)據(jù)重置
  1. adb shell dumpsys batterystats --reset 
  • 打開應用,測試場景(注意測試時手機不能連電腦)
  • 導出應用耗電信息
  1. adb shell dumpsys batterystats 包名| more > C:\Users\charles\Desktop\a.txt 

3. 網(wǎng)絡流量消耗

  • 中等負荷:應用正常操作;
  • 高負荷:應用極限操作。

3.1測試點

  • 應用首次啟動流量值
  • 應用后臺連續(xù)運行 2 小時的流量值
  • 應用高負荷運行的流量峰值
  • 應用中等負荷運行時的流量均值

3.2測試方法 :

1) 通過adb shell dumpsys package來獲取被測應用的uid信息,在未操作應用之前,通過查看

 

  1. adb shell cat /proc/uid_stat/uid/tcp_rcv  
  2. adb shell cat /proc/uid_stat/uid/tcp_snd 

獲取到應用的起始的接收及發(fā)送的流量。Android系統(tǒng)自帶統(tǒng)計功能(總體流量數(shù)值)Proc/uid_stat/{UID}/tcp_snd和tcp_rcv。

  1. UID是每個app安裝時候分配的唯一編號用于識別該app.
  2. tcp_snd:表示發(fā)送數(shù)據(jù)累計大小,單位是字節(jié)
  3. tcp_rcv:表示接收到的數(shù)據(jù)累計大小。

在操作應用后,再次通過上述命令獲取到應用的結束時接收及發(fā)送的流量,通過相減即得到應用的整體流量消耗。

2)使用第三方測試工具:GT等。TrafficStats類是Android提供的一個流暢統(tǒng)計類,可以統(tǒng)計手機開機累計到現(xiàn)在使用的流量,也可以統(tǒng)計某個或者多個進程或者應用所使用流量,包括Wi-Fi和移動數(shù)據(jù)GPRS。

GT使用

TrafficStats.getUidTxBytes(uid)來獲取流量數(shù)據(jù)(該方法號稱是獲取到指定 uid 發(fā)送流量的總和,但實測情況是只有 tcp 層的流量)。

3)使用一些測試工具,比如teslin云測平臺

以手上測試APP為例,其網(wǎng)絡流量測試結果如下圖所示:

4.crash崩潰

通過查看bugly的崩潰反饋,明確出現(xiàn)崩潰的版本和模塊。

常見模塊及其關鍵字對照:

  • login :賬號
  • videodetail :短視頻
  • ad :廣告

5. lint警告

Lint 是Android Studio 提供的代碼掃描分析工具,它可以幫助我們發(fā)現(xiàn)代碼結構/質(zhì)量問題,同時提供一些解決方案,而且這個過程不需要我們手寫測試用例。

Lint 發(fā)現(xiàn)的每個問題都有描述信息和等級(和測試發(fā)現(xiàn) bug 很相似),我們可以很方便地定位問題,同時按照嚴重程度進行解決。

查詢方式:android studio里面的 Analyze->Inspect Code

查詢結果:

以上便是性能測試下篇的內(nèi)容,截止到這里,也算是把APP性能測試主要關注的點都講了一下。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2017-01-19 15:27:24

Android性能優(yōu)化Lint

2014-09-10 11:02:15

移動應用App監(jiān)測性能測試

2021-03-02 09:41:52

Android App攻擊流量

2018-05-18 14:39:46

華為 華為云

2023-10-29 15:39:32

iOS 17蘋果安全漏洞

2021-12-30 10:43:21

Android函數(shù)Crash

2024-08-16 18:42:23

2021-11-16 21:24:37

DDoS攻擊網(wǎng)絡攻擊網(wǎng)絡安全

2025-03-13 06:48:22

2014-10-28 16:11:37

AndroidApp性能優(yōu)化

2021-08-06 06:38:49

安卓應用Android 性能測試

2019-10-18 14:44:51

APPAndroid移動設備

2014-12-10 11:18:17

搜索社交app運營

2018-04-09 13:47:39

Crash日志App

2018-06-14 09:35:35

2019-09-17 09:21:01

2011-03-15 16:34:36

Iptables性能

2023-11-18 19:46:07

GPU架構

2020-03-18 10:04:34

存儲機器學習服務器

2021-05-28 09:10:40

JavaScript性能GPU
點贊
收藏

51CTO技術棧公眾號