【性能测试】【移动端性能测试1】测试方法概要
【性能测试】【移动端性能测试1】测试方法概要: https://www.cnblogs.com/haochuang/articles/12484846.html
【性能测试】【移动端性能测试2】移动端测试点:https://www.cnblogs.com/haochuang/articles/12484948.html
【性能测试】【移动端性能测试3】monkey压力测试:https://www.cnblogs.com/haochuang/p/12484923.html
查看CPU占用率
1、使用命令adb shell top -m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
2、通过proc获取CPU信息。
adb shell cat /proc/stat | grep cpu > totalcpu0
3、Android Studio自带CPU检测功能
耗电测试:
1、PowerStat
2、电量的测试方法(adb shell dumpsys batterystats)
1)首先要初始化batterystats数据
adb shell dumpsys batterystats --reset
2)上面的操作执行完毕后,拔掉手机,操作你的App,操作完成后,重新连接手机,执行下面的命令,收集Battery数据:
adb shell dumpsys batterystats > batterystats.txt
3、PowerTutor
流畅度测试:
1、Android Studio自带GPU测试功能
2、FPS Meter
3、系统自带功能,GPU呈现模式分析
流量测试:
1、Android Studio自带流量检测功能
2、tcpdump+Wireshark抓包测试法
在App运行期间,把手机收发的所有报文度抓取下来,再计算收发报文总大小,即App消耗的流量。
内存测试:
1、adb shell dumpsys meminfo 或adb shell dumpsys meminfo
2、Android Studio中对应进程的Heap
3、内存泄露工具 LeakCanary
cpu端:
手机根目录下有个proc文件夹,里面会存放一些内存的信息。每个应用对应一个文件夹,文件夹的名称就是应用的pid。该文件夹下面会有一个stat文件,里面会存放些应用的运行信息。
对整个手机,proc下同样有一个stat文件,里面有存放了类似的信息,
计算cpu占用时,使用的公式为:(B-A)/(TB-TA)*100,其中A为被测应用第一次获取到的cpu情况,B为A间隔500毫秒后再次获取到cpu情况,TA为整个手机的cpu情况,TB为TA间隔500毫秒后再次获取到的cpu情况。当前应用有多个进程时,所得的cpu占用为多个进程的cpu占用和。
内存端:
android sdk提供了getTotalPss()的接口获取指定pid的内存占用。应用有多个进程时,总的内存占用为多个进程的pss值之和。
网络流量:
android sdk提供了TrafficStats.getUidTxBytes(uid),TrafficStats.getUidRxBytes(uid)两个接口去获取指定应用的流量使用情况。
耗电:
dumpsys batterystats命令里面会输出各个应用的耗电情况,但该命令对手机的系统版本有要求,且应用内使用时需要有root权限。

赠人玫瑰
手留余香
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2017-03-13 【Linux】Linux 文件中^M字符处理
2012-03-13 [原]Python命令
2012-03-13 [原]一些KVM测试过程中的命令笔记(2)分配实例
2012-03-13 [原]一些KVM测试过程中的命令笔记(1)
2012-03-13 [收藏]实践参考:parted创建硬盘分区并创建LVM