Monkey总结(五)
来源:互联网 发布:淘宝旺铺装修 编辑:程序博客网 时间:2024/05/29 17:19
Monkey总结(五)
Monkey是一个快速检查内存泄露的好工具,可以初步发现较明显的内存泄露问题。
什么是内存泄露?是指不在使用的对象持续占有内存,造成内存空间的浪费。
检查内存泄露的基本操作步骤:
1.运行Monkey或者固定自动化用例
adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50
2.监控内存值,如果出现过大等递增异常则保存HPROF文件
查看应用内存的命令:adb shell dumpsys meminfo(进程名)
以下为一个bat脚本,主要 是记录第一行的和最后一行总共的内存,一直循环查询:
set process=cn.microinvestment.weitou
@adb sehll dumpsys meminfo %process% | findstr "Pss"
:m
@adb sehll dumpsys meminfo %process% | findstr "TOTAL"
@ping -n 5 127.1>nul
@goto m
运行后,如图:
如果发现内存过大,则保存HPROF文件:
adb shell am dumpheap <进程名> <保存路径>
3.但是生成的HPROF文件怎么查看呢?我们要用到一个工具MAT来查看,但是首先还要这个HPROF文件转换成MAT可读的文件,在Android SDK tool里面有个hprof-conv命令:
hprof-conv<原HPROF文件路径><转换后的HPROF路径>
4.用MAT工具打开转换后的HPROF文件:
MAT下载:http://www.eclipse.org/mat/
安装好JDK,配置好环境后打开MAT工具,选择File-Open File...,,再选择刚转换后的文件。
一般来说会选择第一个,Leak Suspects Report
会看到report的概览:
再下面是问题列表:
我们可以通过SQL语句来查询对象有没有被释放掉,如果有多个相同的对象,则会存在内存泄露的问题。
在SQL查询框里输入:select * frominstanceof android.app.Activity,然后点击右上角的黑色感叹号按钮。
如果出现多个相同的对象,则存在内存泄露。
- Monkey总结(五)
- Monkey总结(一)
- Monkey总结(二)
- Monkey总结(三)
- Monkey总结(四)
- Android自动化测试之Monkey工具(五)
- Monkey测试学习总结
- android monkey 总结
- Android Monkey学习总结
- Monkey测试总结
- Monkey压力测试总结
- DRP总结(五)
- IO总结(五)
- oracle总结(五)
- 软件工程总结(五)
- Android总结(五)
- HBase 总结(五)
- 暑假总结(五)
- Monkey总结(四)
- 设计模式之建造者模式(Builder)
- sizeof和strlen使用技巧
- it-linux--centos安装chrome
- (Leetcode)53. Maximum Subarray(medium)
- Monkey总结(五)
- DFS和BFS算法介绍
- numpy中的tile函数
- Android多点触控技术实战,自由地对图片进行缩放和移动
- ReactNative FlexBox布局
- Properties类(java.util.Properties)
- RESTful API 设计指南
- Java中使用反射调用静态方法
- Java开发中主要用到的jar包介绍