Heap Viewer,Memory Monitor和Allocation Tracker是用来可视化你的app使用内存的补充工具。
-
使用Memory Monitor Tool来发现是否有不好的内存回收时间导致你的性能问题。
-
运行Heap Viewer来确定获取或者保持不希望或者不必要的对象类型。
-
使用Allocation Tracker来确定你的哪里的代码会存在问题。
Memory Monitor
-----------------------------------------------------------------------------------------
-
在图表中显示你的应用可用的和已使用的内存随时间的变化,伴随着垃圾回收事件发生下降。
-
提供了一种快速的方式来测试是否App变迟缓和过渡的垃圾回收事件相关。
-
提供了一个快速的方法来查看是否app的崩溃可能和耗尽内存相关。
-
在你的应用执行的时候运行,并且每秒钟更新一次。
-
帮助你快速的识别潜在的内存泄漏。
-
帮助你的应用程序的GC模式,并且确定它们是否如你所期望的健康运行。
-
它非常容易使用,并且很容理解你所看见的。
-
然而,Memory Monitor不会告诉你你的问题的原因是什么对象造成的,或者你哪里的代码造成的。
图1.Memory Monitor
Heap Viewer
-----------------------------------------------------------------------------------------
-
显示分配对象类型个数的快照。
-
显示每次垃圾回收事件自然发生或者由你触发的示例数据。
-
帮助你确定什么对象类型可能导致内存泄露。
-
然后,你必须自己从图中发现发生了什么变化。
图2.Heap Viewer
Aloocation Tracker
-----------------------------------------------------------------------------------------
-
展示你的代码什么时候,什么地方分配什么对象类型,它们的大小,分配线程,和跟踪栈。
-
通过重复的分配/释放模式帮助你重新认识内存流失。
-
可以和Heap Viewver联合使用来分总内存泄漏。例如,如果你看见一个位图对象在堆内存中驻存,你能使用Allocation Tracker查到它的分配地点。
-
然而,需要时间和经验来学习理解这个工具的输出。
图3.Allocation Tracker