In this document
You should also read
1.简介
Heap Viewer, Memory Monitor, and Allocation Tracker are complementary tools that visualize the memory your app uses.
- Use the Memory Monitor Tool to find out whether undesirable garbage collection (GC) event patterns might be causing your performance problems.
Memory Monitor Tool 可分析出哪里有内存问题。 - Run Heap Viewer to identify object types that get or stay allocated unexpectedely or unecessarily.
Heap Viewer 标识出哪个对象是不必要的分配。 - Use Allocation Tracker to identify where in your code the problem might be.
Allocation Tracker 定位问题代码
2.Memory Monitor
- Shows available and used memory as they both change over time for your app in a graph, with dips indicating Garbage Collection (GC) events.
- Provides a quick way to test whether app slowness might be related to excessive GC events.
可测试是否由于过多的GC导致应用变慢。 - Provides a quick way to see whether app crashes might be related to running out of memory.
检查是否由于内存不足导致应用崩溃。 - Runs live on your application and updates about once a second.
- Helps quickly identify the potential of memory leaks.
标识潜在的内存泄漏。 - Helps identify GC patterns for your application and determine whether they are healthy and what you expect.
标识GC运行是否健康。 - Is easy to use, and it is easy to interpret what you see.
- However, Memory Monitor does not tell you which objects are the cause of your problems, or where in your code it might be.
它的缺点是并不能指出是哪个对象有问题,哪句代码有问题。
Figure 1. Memory Monitor.
3.Heap Viewer
- Shows snapshots of a number of objects allocated by type.
- Samples data every time a garbage collection event occurs naturally or triggered by you.
采集每次自动或手动GC的对象。 - Helps identify which object types might be involved in memory leaks.
标识出哪些对象可能与内存泄漏有关。 - However, you have to look for changes over time yourself by tracking what's happening in the graph.
Figure 2. Heap Viewer.
4.Allocation Tracker
- Shows when and where your code allocates object types, their size, allocating thread, and stack traces.
记录内存分配信息。 - Helps recognize memory churn through recurring allocation/deallocation patterns.
识别重复无效的内存分配。 - Can be used in combination with Heap Viewer to track down memory leaks. For example, if you see a bitmap object resident on the heap, you can find its allocation location with Allocation Tracker.
帮助Heap Viewer, Memory Monitor 分析内存泄漏。 - However, it takes time and experience to learn to interpret the output from this tool.
Figure 3. Allocation Tracker.