新手学android新能测试-一些内容跟网站
Android性能测试
wyx
1.性能测试:用ListenerApk.apk来检测规定时间内铜板街,用户操作的性能测试数据
原文有图:http://www.cnblogs.com/wyx123/articles/4253957.html
1.1CPU:80余秒内,cpu占用率峰值为45%,谷值为0%
1.2内存:80余秒内内存的数值变化
Pss-实际使用的物理内存,峰值为95
Uss-进程独自占用的物理内存,峰值为77
1.3电量:80余秒内,电量占用率峰值为271.62MA,谷值为0MA
1.4流量:80秒内,流量以平均16.199kb/S的速度消耗
2.使用adb命令汇总性能指数
2.1使用dumpsys meminfo命令。
我们可以在adb shell 中运行dumpsys meminfo命令来得到进程的内存信息。在该命令的后面要加上进程的名字,以确定是哪个进程。
比如"adb shell dumpsys meminfo com.teleca.robin.test" 将得到com.teleca.robin.test进程使用的内存的信息,"size" 表示的是总内存大小(kb)。, "allocated" 表示的是已使用了的内存大小(kb),, "free"表示的是剩余的内存大小(kb)
2.2 如果你想查看所有进程的内存使用情况,可以使用"adb shell procrank"命令。
- VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
- RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
- USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
注意1:这里的PSS和方式四PSS的total并不一致,有细微的差别。为什么呢?这是因为procrank 命令和meminfo命令使用的内核机制不太一样,所以结果会有细微差别
注意2:这里的Uss 和方式四的Priv Dirtyd的total几乎相等.他们似乎表示的是同一个意义。但是现在得到的关于它们的意义的解释却不太相同。
2.3使用"adb shell cat /proc/meminfo" 命令。
该方式只能得出系统整个内存的大概使用情况。
MemTotal: 395144 kB
MemFree: 184936 kB
Buffers: 880 kB
Cached: 84104 kB
SwapCached: 0 kB
................................................................................................
MemTotal :可供系统和用户使用的总内存大小 (它比实际的物理内存要小,因为还有些内存要用于radio, DMA buffers, 等).
MemFree:剩余的可用内存大小。这里该值比较大,实际上一般Android system 的该值通常都很小,因为我们尽量让进程都保持运行,这样会耗掉大量内存。
Cached: 这个是系统用于文件缓冲等的内存. 通常systems需要20MB 以避免bad paging states;。当内存紧张时,the Android out of memory killer将杀死一些background进程,以避免他们消耗过多的cached RAM ,当然如果下次再用到他们,就需要paging.
Dumpsys的使用:http://www.open-open.com/lib/view/open1405061994872.html
1.首先是获得哪些service信息可以dump
$ adb shell dumpsys | grep DUMP
DUMP OF SERVICE AtCmdFwd:
DUMP OF SERVICE SurfaceFlinger:
DUMP OF SERVICE accessibility:
DUMP OF SERVICE account:
DUMP OF SERVICE activity:
DUMP OF SERVICE alarm:
DUMP OF SERVICE appwidget:
DUMP OF SERVICE audio:
DUMP OF SERVICE backup:
DUMP OF SERVICE battery:
DUMP OF SERVICE batteryinfo:
DUMP OF SERVICE bluetooth:
DUMP OF SERVICE bluetooth_a2dp:
DUMP OF SERVICE clipboard:
2.然后就是具体获取某个服务的信息,比如电池使用信息:
- .$ adb shell dumpsys batteryinfo
4.比如抓某个package的进程的memory使用情况
$ adb shell dumpsys meminfo YourPkg
http://www.it165.net/pro/html/201406/16404.html
http://www.cnblogs.com/zdwillie/p/3259395.html
5.再比如测试wifi功能,写个script脚本:
- $ adb shell svc wifi enable # disable对应禁用wifi
- $ adb shell sleep 4
- $ adb shell dumpsys wifi > wifiEnable.txt
6.如果dumpsys不能用,检查你的manifest.xml是不是加了这个permission:
- android.permission.DUMP
7.查看内存使用情况
Adb -e shell dumpsys meminfo|more
另外的知识点:
过度绘制:http://www.th7.cn/Program/Android/201303/129554.shtml
android Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e):
http://www.cnblogs.com/jxgxy/archive/2012/08/15/2640417.html
开发android必知的工具:
http://www.cnblogs.com/ider/p/android-tools-you-must-know.html
Android系统性能调优工具介绍:
http://blog.csdn.net/innost/article/details/9008691
使用DDMS测试安卓手机APP的性能(android):
http://www.cnblogs.com/zhuque/archive/2013/04/02/2995802.html
Android卡顿公开课:http://pan.baidu.com/s/1ntqVsJf
Android 性能分析工具dumpsys的使用:http://www.open-open.com/lib/view/open1405061994872.html