Monkey总结(五)

转载 2018年04月16日 14:01:36

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

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

SEM实战教程(五)

-
  • 1970年01月01日 08:00

Monkey测试学习总结

一.安装,配置和连接设备   1. 下载Android SDK后解压缩,文件夹名字为adt-bundle-windows-x86。   2.配置环境变量,进入计算机属性—高级—环境变量—系统变...
  • tina_zhang15
  • tina_zhang15
  • 2013-06-21 09:38:28
  • 1381

Android Monkey学习总结

1.发送压力指令 对整个手机进行测试:adb shell monkey 1000 查询应用报名:adb shell “logcat | grep START” 测试单个应...
  • mazaiting
  • mazaiting
  • 2017-05-24 09:28:06
  • 128

Monkey总结(一)

Monkey总结(一) Monkey是什么?       Monkey是Google提供的一个命令行工具,可以运行在模拟器或者实际设备中。它向系统发送伪随机的用户事件(如按键、手势、触摸屏等输入)...
  • u013512708
  • u013512708
  • 2016-11-03 16:44:23
  • 921

关于socket的一些总结

在linux下socket是用一个文件描述符来表示,对于linux来说从某个socket读数据和从某个文件读数据是一样的; linux下文件描述符的范围是1024,也就是有个用户进行所能使用的最大的文...
  • hjx_1000
  • hjx_1000
  • 2014-01-24 16:50:27
  • 1541

monkey实战--测试步骤、常用参数、常规monkey命令

简要步骤:adb devices---了解包名--adb shell monkey -p 包名 -v 运行次数(多个参数的组合形成不同的用例以求最大的覆盖)--当崩溃或无响应时分析monkey日志 常...
  • u011649536
  • u011649536
  • 2015-04-15 10:05:57
  • 13006

Javaweb学习总结(五)

cookie 一、cookie概述 每个客户访问服务器都会产生一个会话对象,当在一个服务器上有多个会话时,服务器端就可以通过cookie区分不同会话对象对应的ID,cookie 就是用来记录服务器...
  • LL596214569
  • LL596214569
  • 2017-09-11 16:25:32
  • 104

monkey命令

  • 2017年11月09日 11:03
  • 252KB
  • 下载

monkey笔记

  • 2017年12月06日 12:04
  • 1.37MB
  • 下载

Java Web学习总结(五)——Servlet开发(一)

点击上方“Java团长”,选择“置顶公众号”技术文章第一时间送达!上一篇:Java Web学习总结(四)——Http协议一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web...
  • FYGu18
  • FYGu18
  • 2018-03-13 00:00:00
  • 289
收藏助手
不良信息举报
您举报文章:Monkey总结(五)
举报原因:
原因补充:

(最多只允许输入30个字)