作者:雅芳07866 | 来源:互联网 | 2023-06-21 14:54
InthisdocumentMemoryMonitorHeapViewerAllocationTrackerYoushouldalsoreadMemoryMonitorWalkth
In this document
- Memory Monitor
- Heap Viewer
- Allocation Tracker
You should also read
- Memory Monitor Walkthrough
- Heap Viewer Walkthrough
- Allocation Tracker Walkthrough
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.
- 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.
- 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.
它的缺点是并不能指出是哪个对象有问题,哪句代码有问题。
![Android 性能优化(23)*性能工具之「Heap Viewer, Memory Monitor, Allocation Tracker」Memory Profilers Android 性能优化(23)*性能工具之「Heap Viewer, Memory Monitor, Allocation Tracker」Memory Profilers](https://img2.php1.cn/3cdc5/3909/525/3b339fe0fb37da65.png)
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.
- 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.