要做到上面的测试环境需要具备以下几点:知谈
(1)adb shell
(2)echo 3>/埋猛桐proc/sys/vm/drop_caches(清除系统cache)
(3)top -d 1 | grep com.baidu.BaiduMap(以百度为例,每一秒打印一次资源利用情况)
由于使用了复合查询”管道符“的方式,所以必须拥有root权限,否则grep的命令无法识别。
在这里我们看到cmd并没有显示出所对应的列的标题,所以我们可以单独通过top命令来了解到:
至于以上各列的含义我不说我想大家也应该猜得到了,在这里仅说一下我们要用到的两个参数,其他的可以再网上查询了解:
|--CPU%:CPU占用率
|--RSS:实际占用的物理内存数,单位KB
我们可以针对不同的业务,打印出不同的“标签”,用于区别弯坦现在从事的那个业务,并为后期分析各业务模块中CPU和内存的占用以及对比使用。
Android默认情况下分配给一个应用程序的内存大小是16M,这对于涉及到大量图片或者后台的应用程序来说,有点吃力,一个不小心,就会出现OOM的问题,所以,要对应用程序运行过程中的内存使用情况进行测试。
可以使用Eclipse DDMS的Heap进行测试。
首先,我们在DDMS的界面的设备选项中找到手机设备,可以看到它里面正在运行的进程:
点一下“Update Heap"图标,然后在Heap选项中查看我们标注的进程的内存使用情况:
点一下"Cause GC", 相当于向虚拟机执行一次GC请求,然后无需再按就可以动态的查看该应用程序的内存使用情况。
丛搜衫最值得关注的就是”data object“的"Total Size",它决定了是否存在内存泄露的危险。一般情况下,它都是固定在一个稳定的数值范围,如果回落非常渗腔大,或者该数值非常大,像是3.55后就会被kill掉,说明该应用程序的内存使用情况不佳,代码结构需要优化漏哗。
可以用软件“ATTO Disk Benchmarks”测试手机tf卡的读写速度,测庆培试方法如下:
1、如下图,首先需要准备读卡器。读卡器标称读写速度一定要高于待测tf卡李差悉的标称读写速度。所谓“标称”,就该产品的生厂商在产品的参数介绍里标注的产品理论读写速度。将手机tf卡插上读卡器,再将读卡器插哪乎上电脑,只有这样直连才能更准确的测试tf卡读写速度:
2、如下图,是“ATTO Disk Benchmarks”软件的图标,在百度软件中心可以下载到,下载安装后,双击图标打开软件:
3、如下图,首先在下图中,上方的红框内选定移动硬盘所在盘符(例如举例中tf卡是F盘,就选定“f”),然后点击下方红框内的“开始”,测试完毕,读写速度结果就会呈现。由下图可知,读取速度大约是42MB每秒,写入速度大约是28MB每秒:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)