一  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. 【Linux远程管理】Telnet远程连接管理

    Telnet,命令行界面下的远程管理工具,因为其历史非常悠久,几乎所有的操作系统都有该工具, 但是,Telnet在传输数据是是通过明文传输的,没有加密,所以现在几乎不会使用Telnet进行管理了. ( ...

  2. 重温XML

    关于什么是XML,以及XML有什么作用,网络上很多,我就在这里不班门弄斧,写博客,是我的一个习惯,究其内容无非个人情感,心得体会,转载,技术相关的,或者一时心血来潮的个人之谈,但是我是一个小心翼翼的人 ...

  3. Linux 线程优先级

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

  4. c#基础这些你都看过吗?(一)-----仅供初学者使用

    1.注释(不写注释是流氓,名字瞎起是扯淡)‘///’一般用于注释函数,注释类.2.快捷键ctrl+k+d(有语法错误无法进行对齐)ctrl+j(快速弹出只能提示)shift+end,shift+hom ...

  5. 【转】CString类型互转 int

    CString类型互转 int 原文网址:http://www.cnitblog.com/Hali/archive/2009/06/25/59632.html CString类型的转换成int  将字 ...

  6. asp.net 使用 MongoDB 初体验

    首先:驱动 如果asp.net 想使用MongoDB,.net没有自带的链接类.得用第三方或官方的链接类. 当然有很多种驱动,我就不一一介绍了. 今天我就介绍一个我比较常用的驱动-----MongoD ...

  7. VS.NET2010水晶报表安装部署

    水晶报表VS2010版IDE安装标准版SAP Crystal Reports, version for Visual Studio 2010 - Standard: 下载地址: http://down ...

  8. LoadRunner调用Java程序—性能测试-转载

    LoadRunner调用Java程序—性能测试   为了充分利用LoadRunner的场景控制和分析器,帮助我们更好地控制脚本加载过程,从而展现更直观有效的场景分析图表.本次将重点讨论LoadRunn ...

  9. iOS开发学习记录【整理】

    ◆ 开发环境基于 MacBook / Mac OS 10.10 / Xcode 6.1 / iOS 8 1.关于@property 在 .h 里声明了@property之后,默认 .m 不需要写@sy ...

  10. 曲面Shader

    这是一个能让平面呈现出曲面效果的Shaer. 代码: Shader "Custom/CurvedWorld"{ Properties { // Diffuse texture _M ...