加入收藏 | 设为首页 | 会员中心 | 我要投稿 52刷机网 (https://www.52shuaji.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 安卓频道 > 安卓资讯 > 正文

Android APP性能检测GPU 耗电 流量 crash lint警告

发布时间:2021-12-08 09:10:18 所属栏目:安卓资讯 来源:互联网
导读:GPU渲染 GPU渲染是指在一个像素点上绘制多次(超过一次):显示一个什么都没有做的activity界面算作画了1层,给activity加一个背景是第2层,在上面放了一个Text View(有背景的Text View)是第3层,Text View显示文本就是第4层,仅仅只是为了显示一个文本,却在同
GPU渲染
GPU渲染是指在一个像素点上绘制多次(超过一次):显示一个什么都没有做的activity界面算作画了1层,给activity加一个背景是第2层,在上面放了一个Text View(有背景的Text View)是第3层,Text View显示文本就是第4层,仅仅只是为了显示一个文本,却在同一个像素点绘制了四次,这是一定要优化的。过度绘制对动画性能的影响是极其严重的,如果你想要流畅的动画效果,那么一定不能忽视过度绘制。
 
1.1 测试方法
1)手机自动的Debug GPU overdraw
 
打开手机—>设置—>开发者选项—>调试GPU过度绘制—>显示过度绘制区
打开被测的应用
GPU过渡渲染不同的颜色代表不同的绘制程度
 
原色:无过渡绘制
蓝色:绘制一次 (理想状态)
绿色:绘制二次
浅红:绘制三次 (可以优化)
深红:绘制四次 (必须优化)
测试指标:
 
控制过渡绘制为2x
不允许存在4x过渡绘制
不允许存在面积超过屏幕1/4的3x过渡绘制
2.耗电量
测试应用对电量的消耗前需要对手机本身的电量消耗有个大概了解,测试前先看规定时间内手机正常待机下(重启后待机)电量消耗为多少。然后再启动待测试APP看看消耗的电量增加了多少,然后取两者之间的差值。
 
2.1测试点
测试手机安装目标APK前后待机功耗无明显差异;
常见使用场景中能够正常进入待机,待机电流在正常范围内;
长时间连续使用应用无异常耗电现象。
2.2 测试方法 :
前提:先关闭所有的应用,再打开被测app
 
使用第三方测试工具:GT等,只需要测试的电流静置一晚,待机电流在正常范围内即可。一般是被测应用对比待机电流<=2mA。
使用adb命令
具体测试方法如下:
 
1. 测试环境:
 
1)android手机,wifi/4g
2. 测试步骤:
 
清除已有的耗电量数据
adb shell dumpsys batterystats --enable full-wake-history
设备耗电量数据重置
adb shell dumpsys batterystats --reset
打开应用,测试场景(注意测试时手机不能连电脑)
导出应用耗电信息
adb shell dumpsys batterystats 包名| more > C:UserscharlesDesktopa.txt
3. 网络流量消耗
中等负荷:应用正常操作;
高负荷:应用极限操作。
3.1测试点
应用首次启动流量值
应用后台连续运行 2 小时的流量值
应用高负荷运行的流量峰值
应用中等负荷运行时的流量均值
3.2测试方法 :
1) 通过adb shell dumpsys package来获取被测应用的uid信息,在未操作应用之前,通过查看
 
adb shell cat /proc/uid_stat/uid/tcp_rcv  
adb shell cat /proc/uid_stat/uid/tcp_snd
获取到应用的起始的接收及发送的流量。Android系统自带统计功能(总体流量数值)Proc/uid_stat/{UID}/tcp_snd和tcp_rcv。
 
UID是每个app安装时候分配的唯一编号用于识别该app.
tcp_snd:表示发送数据累计大小,单位是字节
tcp_rcv:表示接收到的数据累计大小。
在操作应用后,再次通过上述命令获取到应用的结束时接收及发送的流量,通过相减即得到应用的整体流量消耗。
 
2)使用第三方测试工具:GT等。TrafficStats类是Android提供的一个流畅统计类,可以统计手机开机累计到现在使用的流量,也可以统计某个或者多个进程或者应用所使用流量,包括Wi-Fi和移动数据GPRS。
 
GT使用
 
TrafficStats.getUidTxBytes(uid)来获取流量数据(该方法号称是获取到指定 uid 发送流量的总和,但实测情况是只有 tcp 层的流量)。
 
3)使用一些测试工具,比如teslin云测平台
 
以手上测试APP为例,其网络流量测试结果如下图所示:
 
 
 
4.crash崩溃
通过查看bugly的崩溃反馈,明确出现崩溃的版本和模块。
 
常见模块及其关键字对照:
 
login :账号
videodetail :短视频
ad :广告
5. lint警告
Lint 是Android Studio 提供的代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。
 
Lint 发现的每个问题都有描述信息和等级(和测试发现 bug 很相似),我们可以很方便地定位问题,同时按照严重程度进行解决。
 
查询方式:android studio里面的 Analyze->Inspect Code
 
 
 
查询结果:
 
 
 
以上便是性能测试下篇的内容,截止到这里,也算是把APP性能测试主要关注的点都讲了一下。

(编辑:52刷机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读