MAT简介
MAT介绍
MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象。
MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象。
第一篇文章《Android内存优化之一:MAT使用入门》介绍了MAT的基本使用方法,包括下载、安装、打开HPROF文件,和一些基本的视图。这篇文章介绍一下一些最新的工具使用方法,和第一篇中没有提到的一些其他的用法。
今天,我们开源了一个名叫Facebook Infer的静态程序分析库,该库用于在程序分发之前定位代码bug。静态分析器是一个不需要运行代码就可以准确地找出代码bug的自动化工具。它是传统的动态测试的补充,传统的动态测试允许每次只运行一个独立的代码单元来检测程序的正确性,静态分析则允许一次性检测多个、甚至所有代码。Facebook Infer使用数学逻辑来推理程序的运行,当在查找程序时来推测程序员在代码中所要做的操作。我们内部使用Facebook Infer来分析facebook的Android和iOS应用,例如facebook messagers, Instagram等等。现在,这个分析器能够发现空指针、内存泄漏等能够使应用奔溃的大量代码bug.
长话短说:如果你在使用FragmentActivity的任何子类(比如最新的AppCompatActivity),并且你正在考虑要在onResume方法中做fragment transaction操作,那么请在onResumeFragment里做这件事情。
如果你想知道详情或者一些注意事项,继续阅读。如果不想,没关系,下篇文章见。
任何一个基于Android 的native框架做开发的人都不可避免的会碰到一些几乎到处使用的native层C++工具类。sp
(或者称为StrongPointer
),就是其中之一。了解它是如何工作非常重要,这样你才能更清晰的理解代码,并且写出精简、没有资源泄漏的代码。在这篇文章中,我们就要根据实例来了解sp
的基本概念和使用方法。
正如在第一篇Context介绍种关于GPU讨论的部分所说,很多手机的性能有限,如果应用中有严重的过度绘制可能会导致比较糟糕的渲染性能。不透明的View会完全遮盖其它的View的情况下会导致渲染引擎进行多次绘制。你可以通过开启设置中的开发者选项的GPU overdraw来修复相应的问题。
本篇文章为Google Developing for Android 系列的最后一篇文章,文章结尾如是说:
Fin
(The End)
(Last Chapter. Done. No more. Finished.)
Google I/O 2015 给 Android 开发者提供了一整套新工具,让 Android 开发更容易。
我会完成一个系列文章来介绍超级实用的 Design Support Library.