生成hprof文件,用MAT进行分析
生成hprof文件可以在DDMS选中进程点击窗口左上角的"dump hprof file"按钮来直接生成,也可以通过在程序加代码中来生成
代码2:
void generateHprof()
{
String packageName=getApplicationInfo().packageName;
String hpFilePath="/data/data/"+packageName+"/input.hprof";
try {
//Debug.dumpHprofData("/sdcard/input.hprof");
Debug.dumpHprofData(hpFilePath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
建议使用代码生成hprof,然后使用批处理hprof文件,然后用Memory Analyzer tool(MAT)进行对多个hprof文件比较分析。
在MAT导入.hprof文件以后,MAT会自动解析并生成报告,点击Dominator Tree,并按Package分组,选择自己所定义的Package类,比较各个类在不同时期的Retained Heap,找出可疑类,然后选择该类,点右键,选中show retained Set 项,参看Retained Heap的详细信息,进一步找出嫌疑项。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、批处理配置文件
生成hprof文件,用MAT进行分析的更多相关文章
- Android内存管理(12)*「实例」用Monitor 生成.hprof文件 并分析内存泄漏
参考 http://blog.csdn.net/xiaanming/article/details/42396507 基本步骤: 1,准备一个有内存泄漏的代码 2,如何发现内存泄漏 3,生成.hpro ...
- 使用dbghelp生成dump文件以及事后调试分析
前言 在产品的实际应用环境中,如果我们的程序在客户那里出现了问题,例如程序异常了,而这个时候的现象又不能还原或者很难还原重现,那么只有使用dump文件来保存程序的当前运行信息,例如调用堆栈等,同时使用 ...
- mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
java服务端程序报错后会生成hprof文件,我们可以通过mat工具MemoryAnalyzer进行分析 下载地址: http://www.eclipse.org/mat/downloads.php ...
- Android Studio - HPROF文件查看和分析工具
Android Studio 翻译的官方文章 原文链接 当你在Android Studio中使用Android Monitor里的Memory Monitor工具监视内存使用情况时,可以把Java堆快 ...
- Android 内存使用hprof文件打开方法
http://blog.csdn.net/moruihong/article/details/7677128 与C++的内存不同,C++的内存泄露是由于分配了内存给某程序但是又没有回收造成的.Java ...
- 【原创】android内存管理-hprof文件
转载请注明出处 http://www.cnblogs.com/weiwangnuanyang/p/5703702.html 如果只是想确定一下某一个场景是否有内存泄漏,AndroidStadio的控制 ...
- mat 使用 分析 oom 使用 Eclipse Memory Analyzer 进行堆转储文件分析
概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现.JVM 能够记录 ...
- MAT工具分析Dump文件(大对象定位)
前段时间线上服务经常发生卡顿,经过排查发现是大对象引起的Fullgc问题,特此记录排查逻辑. 目录 目的 一.获得服务进程 二.生成dump文件 三.下载mat工具 四.使用mat工具导入第二步生成的 ...
- 将Mat类型坐标数据生成pts文件
前言 获取人脸特征点的坐标信息之后,想要将坐标信息shape保存为pts/asf/txt等文件格式,本文就对此进行实现. 实现过程 1.确定pts文件的书写格式: 以要生成的文件为例,书写格式如下: ...
随机推荐
- exception.py
try: raise Exception except Exception as e: print(e) try: raise Exception('comment') except Exceptio ...
- Git如何删除自己创建的项目
版本管理器第二行最右边,找到倒三角,下面的Edit Project,拖动鼠标到最下面,Remove project ,弹出框Confirmation required里面输入项目名字,如项目名字为“w ...
- ASP.NET Core 依赖注入(DI)
ASP.NET Core的底层设计支持和使用依赖注入.ASP.NET Core 应用程序可以利用内置的框架服务将服务注入到启动类的方法中,并且应用程序服务也可以配置注入.由ASP.NET Core 提 ...
- E20180503-hm
in terms of 根据; 用…的话; 就…而言; 以…为单位; in term of 就……而言 argument n. 论据; 争论,争吵; [数] 幅角; 主题,情节; indicate ...
- Codeforces Round #422 (Div. 2) C. Hacker, pack your bags!(更新数组)
传送门 题意 给出n个区间[l,r]及花费\(cost_i\),找两个区间满足 1.区间和为指定值x 2.花费最小 分析 先用vector记录(l,r,cost)和(r,l,cost),按l排序,再设 ...
- Codeforces510B【dfs】
判断一个图里是否有一个自环: 50*50 标记起点,然后暴搜? #include <bits/stdc++.h> #include<algorithm> using names ...
- poj1015【DP.......无奈了】
首先,读题,真是一窍不通.后来看完程序的意思,才明白吧.. 题意: n个人中选m个,条件是取sum|D-P|最小,当有|D-P|相同的时候取|D+P|最大的.然后输出那些m个人的sumD,sumP,最 ...
- video.py OpenCv例程阅读
#!/usr/bin/env python ''' Video capture sample. Sample shows how VideoCapture class can be used to a ...
- Centos6.8 配置 Tomcat
1.安装Tomcat,安装之前必须先安装Java,先安装java 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index. ...
- 跟我一起玩Win32开发(16):ListView的多个视图
在上一个例子中,我们只用到了ListView的Report视图,也就是详细视图.本文我们再把上一篇文章中所用的例子进行一下扩展,例子源码可以到俺的资源区下载. 我们为ListView中显示的数据加上图 ...