一  Java内存分析工具扫盲

如果像我一样一点都不了解,可以先进行内存分析工具扫盲
 
MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储文件分析工具,可以用于发现内存漏洞和减少内存消耗。
二  Eclipse MAT插件安装
 
当前机器环境描述:

  1. 系统: Ubuntu 12.04 LTS 64
  2. Eclipse for Mobile Developers Version: Juno Service Release 1
  3. ADT:  20.03
  1. 系统: Ubuntu 12.04 LTS 64
  2. Eclipse for Mobile Developers Version: Juno Service Release 1
  3. ADT:  20.03
系统: Ubuntu 12.04 LTS 64
Eclipse for Mobile Developers Version: Juno Service Release 1
ADT: 20.03
1. Help -> Install  New Software -> 
2. 在弹出的窗口中 Work with 右侧的下拉按钮中选择相应的版本,我使用的Eclipse是Juno版,所以选择 Juno - http://download.eclipse.org/releases/juno
3. 等pedding 之后,打开 General Purpose Tools 目录,勾选此目录下的以下两项 Memory Analyzer Memory Analyer(Charts) [optional]
4. Finish
三 使用DDMS HEAP生成HPROF文件
1. 打开DDMS视图

2. 选择要分析的包名, 当前演示选中的是com.android.updater,然后点击Update Heap按钮

3. 在Heap视图中点击Cause GC按钮, 决定何时进行监听

5.  保存内存HPROF文件, 点击Dump HPROF file按钮,即带向下红色箭头的按钮

四  使用MAT插件打开HPROF文件

 
1. 如果MAT已经正常安装,单击Dump HPROF file之后,会自动弹出此窗口, 我这里选择的是第一项,finish
 
 
2. MAT以图文的形式显示内存信息
 
 
 
五 更多资料
 
1.  使用 Eclipse Memory Analyzer 进行堆转储文件分析 写的非常好,以一个例子出发,一步步演示如何使用MAT分析内存溢出问题
2. Android官方文档 Memory Analysis for Android Applications    文档中文翻译
3. 上篇官方文档作者相关资料: 作者博客  作者2011 I/O大会内存分析问题演讲视频
3. 安装好MAT插件后本地会有文档,本地文档地址

Android内存分析工具DDMS heap + MAT 安装和使用的更多相关文章

  1. Android 内存监测工具 DDMS --> Heap

    一.什么是内存泄露    内存泄露是指程序中间动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用.导致系统运行变慢或应用程序崩溃.二.如何检测Android中的内存泄露   ...

  2. Android 内存监测工具 DDMS --> Heap(转)

    DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息.Logcat.广播状态信息.模拟电话呼叫.接收 ...

  3. Android 内存监测工具 DDMS --> Heap

    用 Heap监测应用进程使用内存情况的步骤如下: 1. 启动eclipse后,切换到DDMS透视图,并确认Devices视图.Heap视图都是打开的: 2. 将手机通过USB链接至电脑,链接时需要确认 ...

  4. Android 内存分析工具 MAT(Memory Analyzer Tool)

    如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...

  5. Android内存分析工具

    在Android系统开发过程中,经常会要去分析进程的内存的使用情况,简单介绍下Android内存分析的相关工具. 文章参考: 1.dumpsys 2.memory-analysis-command 1 ...

  6. 内存监测工具 DDMS --> Heap

    无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方.Android tools中的DDMS就带有一个很不错的内存监测工具Heap(这 ...

  7. Android 内存分析工具 - LogCat GC

    一.GC_Reason 触发垃圾回收的回收的集中原因: 类型 描述 GC_CONCURRENT 内存使用将满时,并发的进行垃圾回收. GC_FOR_MALLOC 当内存已满应用尝试分配内存时会出触发垃 ...

  8. Redis内存分析工具之redis-rdb-tools的安装与使用

    操作系统:Centos7    1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python: 安装: (1)用 wget 下载 python 2.7 并解压( 如果 ...

  9. jvm堆内存模型原理分析及堆内存分析工具jhat和MAT的使用超详细教程

随机推荐

  1. ANDROID_MARS学习笔记_S01原始版_009_下载文件

    一.代码1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...

  2. dojo自定义Widget

    使dojo AMD规范进行widget 定义,开始的时候一直找不到自己定义的widget模块的位置,经过探索,总算有收获,我这个人有毛病,脑子里不允许有一些想不通的问题,一旦有了问题,就非常难受,心里 ...

  3. JAVA抽象类与接口

    在Java语言中, abstract class 和interface 是支持抽象类定 义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和in ...

  4. Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)

    最近公司要给客户提供一套集群方案,项目组采用了Apache和Tomcat的集群配置,用于实现负载均衡的实现. 由于以前没有接触过Apache,因此有些手生,另外在网上搜寻了很多有关这方面的集群文章,但 ...

  5. gtest的安装和测试[good]

    一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...

  6. Which are in?

    Which are in? Given two arrays of strings a1 and a2 return a sorted array in lexicographical order a ...

  7. EditPlus 配置 Java & C/CPP 开发环境

    0.1安装EditPlus 0.2安装Java 0.3安装MinGW 0.4配置Java和MinGW环境变量 1.配置Java开发环境 1.1 Tool-->Preferences 1.2 Ja ...

  8. 六月计划#1B(6.1-6.8)

    1/7 图论 purfer_sequence

  9. BZOJ2843: 极地旅行社

    2843: 极地旅行社 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 90  Solved: 56[Submit][Status] Descripti ...

  10. NuGet -- 使用控制台管理程序包

    为什么要使用控制台管理程序包而不使用程序包管理窗口?原因大家都懂,生活压力这么大,一切都只是为了装一波.开个玩笑,当然不只是此原因,在有些情况下,有些操作使用程序包管理窗口不能达到目的,只能使用控制台 ...