新手学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和方式四PSStotal并不一致,有细微的差别。为什么呢?这是因为procrank 命令和meminfo命令使用的内核机制不太一样,所以结果会有细微差别

注意2:这里的Uss 和方式四的Priv Dirtydtotal几乎相等.他们似乎表示的是同一个意义。但是现在得到的关于它们的意义的解释却不太相同。

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.然后就是具体获取某个服务的信息,比如电池使用信息:

  1. .$ 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脚本:

 

  1. $ adb shell svc wifi enable  # disable对应禁用wifi
  2. $ adb shell sleep 4
  3. $ adb shell dumpsys wifi > wifiEnable.txt

 

 

6.如果dumpsys不能用,检查你的manifest.xml是不是加了这个permission:

  1. 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

 

posted @ 2015-05-12 14:11  Mr.Dantes  阅读(473)  评论(0编辑  收藏  举报