一  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. 【无聊放个模板系列】HDU 1269 (SCC)

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...

  2. Android EditText的常用技巧

    1.       设定 EditText 的滚动条.对齐方式.行数.和提示 (hint) 及其颜色 在布局文件,比如 main.xml 中,增加 < EditText android:id =  ...

  3. Android ExpandableListView使用+获取SIM卡状态信息

    ExpandableListView 是一个可以实现下拉列表的控件,大家可能都用过QQ,QQ中的好友列表就是用ExpandableListView实现的,不过它是自定义的适配器.本篇 博客除了要介绍E ...

  4. eclipse 新建项目下后.metadata\.plugins的文件夹解释和如何保存自己的特定工程设置

    eclipse 新建项目下后.metadata\.plugins的文件夹解释和如何保存自己的特定工程设置 [org.eclipse.core.runtime] 字体,maven的setting.xml ...

  5. Linux 线程优先级

    http://www.cnblogs.com/imapla/p/4234258.html http://blog.csdn.net/lanseshenhua/article/details/55247 ...

  6. Hibernate java.lang.NoSuchFieldError: INSTANCE

    在使用hibernate3.6.2是我遇到了一个有趣的错误java.lang.NoSuchFieldError: INSTANCEat org.hibernate.type.BasicTypeRegi ...

  7. 免安装oracle驱动访问数据库

    try { string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.110.110)( ...

  8. C#中is、as的区别

    一.C#类型的转换 在c#中类型的转换分两种:显式和隐式,基本的规则如下: 1.基类对象转化为子类对象,必须显式转换,规则:(类型名) 对象.2.值类型和引用类型的转换采用装箱(boxing)或拆箱( ...

  9. C# winform 渐变效果

    在用到vs的兴奋过程中,想给程序做个启动画面,我采用了显示Aform,过一段时间,隐藏这个Aform,showdialog下一个Bform,closeAForm这个方法来做了,不知道大家有没有跟好的办 ...

  10. apache开源项目--Ignite

    Apache Ignite 内存数组组织框架是一个高性能.集成和分布式的内存计算和事务平台,用于大规模的数据集处理.Ignite 为应用和不同的数据源之间提供一个高性能.分布式内存中数据组织管理的框架 ...