Android性能优化系列
Java虚拟机系列
前言
在此系列的前面四篇文章里头,我逐个介绍了DVM相关知识点,介绍了ART相关知识点,介绍了内存泄漏相关知识点,介绍了内存检测工具相关知识点,而在这一篇当中,我们借助一个小例子,去学习怎样使用MAT这个内存分析工具 。
1.概述
于开展内存分析之际,我们能够运用Memory Monitor以及Heap Dump去观测内存的运用情形,借助Allocation Tracker来追踪内存分配的状况,还能够经由这些工具寻觅疑似产生内存泄漏的地方。然而要是打算深入予以分析并判定内存泄漏,那就得进行分析 。
当疑似出现内存泄漏状况时会生成堆存储文件,堆存储文件能够借助DDMS或者Memory Monitor予以生成,其输出的文件格式是hpof,MAT则是旨在对堆存储文件展开分析的那一种 。
具备详细内存分析能力的工具MAT,其全称为Memory Analysis Tool,它属于Eclipse的插件,要是运用Android Studio开展开发工作,那就得单独去下载它,其下载地址是:http://eclipse.org/mat/,在这篇文章里MAT的版本是1.6.1 。
2.生成hpof文件 2.1 准备内存泄漏代码
我们需要准备一段发生内存泄漏代码,如下所示。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super这段内容似乎不是一个完整的句子,不太明确你提供它要求改写的具体意图。你可以补充更详细的信息以便我能。

设置视图内容为资源文件中的主活动布局,该资源文件名为activity_main , 。
LeakThread leakThread = new LeakThread();
leakThread.start();
}
有一个类,它就是 LeakThread,这个类是继承自 Thread 的 ,也就是它属于 Thread 的子类 。
@Override
public void run() {
try {
Thread.sleep(60 * 60 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}