Monkey总结

简介: Monkey是一个快速检查内存泄露的好工具,可以初步发现较明显的内存泄露问题。    什么是内存泄露?是指不在使用的对象持续占有内存,造成内存空间的浪费。    检查内存泄露的基本操作步骤:          1.

    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,然后点击右上角的黑色感叹号按钮。

                                                    如果出现多个相同的对象,则存在内存泄露。

技术改变世界! --狂诗绝剑
目录
相关文章
|
3月前
|
测试技术 Shell Android开发
随机测试 Monkey Test
随机测试 Monkey Test
100 0
|
9月前
|
Shell
monkey命令
​ 一:Monkey所有命令: monkey常用命令: 二、Monkey常用命令参数说明 基本参数 说明 -p 指定一个或多个包 -s 指定一个随机数生成器的seed值 --throttle 指定事件之间的固定延迟(ms) -v 指定反馈信息级别(信息级别就是日志的详细程度) -c 指定一个或多个类别名 -f 运行指定的monkey脚本 事件参数 说明 --pct-touch 指定触摸事件百分比 --pct-motion 指定动作事件百分比 --pct-trackball 指定轨迹事件百分比 --pct-syskeys 指定系统按键事件百分比
82 0
|
Java Shell Android开发
monkey--介绍
monkey--介绍
monkey--常用参数
monkey--常用参数
|
Shell 测试技术 Android开发
08-adb命令之monkey压测
08-adb命令之monkey压测
|
监控 Java Shell
App测试--ADB Monkey(下)
Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。
341 0
App测试--ADB Monkey(下)
|
Shell 测试技术 开发工具
App测试--ADB Monkey(上)
Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。
279 0
mqc
|
测试技术 Android开发 开发者
由Monkey引发的测试工具方面的想法
对于Monkey,大家并不陌生,相信很多后续出现的基于控件遍历的测试工具也或多或少地受了它的启发。简单来说,Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试。
mqc
4329 0
|
测试技术 开发工具 Android开发
Android测试之Monkey Runner
什么是MonkeyRunner monkeyrunner是Android sdk中自带的一个通过接收测试脚本(使用python语言编写的)来执行功能性测试的工具。
1263 0
|
Shell 测试技术 Android开发