1、MAT工具使用
下载入口
官方教程
Android Studio 不能直接使用MAT,要单独下载,MAT可以在eclipse内部插件中打开使用,也可以单独下载使用,在MAC中安装时MAT不能运行在Download下,可以拖进应用程序内打开。
获取Heap Dumps文件
使用Android Studio的Android Profiler->Memory Profiler 获取堆转储文件,然后转化成 .hprof标准文件
转化命令:
1、文件移动到platform-tools文件夹下,解决权限问题
mv Downloads/Untitled /Users/admin/Library/Android/sdk/platform-tools/
2、进入platform-tools文件夹下,进行转换
hprof-conv Untitled /Users/admin/Downloads/converted.hprof
2、Android Profiler-> Memory Profiler
API文档
使用 Memory Profiler 查看 Java 堆和内存分配
分析内存的技巧:
1、使用 Memory Profiler 时,您应对应用代码施加压力并尝试强制内存泄漏。 在应用中引发内存泄漏的一种方式是,先让其运行一段时间,然后再检查堆。 泄漏在堆中可能逐渐汇聚到分配顶部。 不过,泄漏越小,您越需要运行更长时间的应用才能看到泄漏。
2、将设备从纵向旋转为横向,然后在不同的 Activity 状态下反复操作多次。 旋转设备经常会导致应用泄漏Activity、Context 或 View 对象,因为系统会重新创建 Activity,而如果您的应用在其他地方保持对这些对象之一的引用,系统将无法对其进行垃圾回收。
3 、处于不同的 Activity 状态时,在您的应用与另一个应用之间切换(导航到主屏幕,然后返回到您的应用)。
网友评论