android - 如何使用 TraceView 对 Android 应用程序进行内存分析

标签 android memory-leaks memory-management trace memory-profiling

我正在引用 this到我的应用程序的内存分析,当我用我的跟踪文件启动 TraceView 时,TraceView 窗口上显示了几种颜色和项目。

那么我怎样才能理解内存泄漏的位置,以及颜色的含义。

最佳答案

我认为您不应该使用 TraceView 来查找内存泄漏。它是一个用于获取有关应用程序性能和内存使用情况的信息的工具。尝试 Memory Analyzer Plugin for Eclipse .您可以使用 DDMS 中的 Dump HPROF file 按钮转储您的应用内存,并使用 MAT 查找此转储中的内存泄漏。

更新:
进行内存转储后,您会看到 MAT入门向导,其中选中了泄漏嫌疑报告单选按钮。单击完成 按钮,您将看到Leak Suspects 窗口。将有一个内存使用图和一个潜在泄漏列表。有些泄漏是假阳性。如果您认为某次泄漏是真实的,您可以单击详细信息链接以获取有关此泄漏的更多信息。

当“详细信息”选项卡打开时,您将看到一条指向泄漏对象的路径。您可以单击路径中的任何对象并获得有关这些对象的一些有用信息。例如,您可以获得一个对象列表,这些对象具有对所选对象的引用(List objects -> with outgoing reference)。

关于android - 如何使用 TraceView 对 Android 应用程序进行内存分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349379/

相关文章:

javascript - 在 Chrome 的 DevTools 中检测泄漏的 DOM 节点

iphone - 我是否在 NSMutableArray 中放入了太多内容?请帮忙!

java - 在 Java 中将日历设置为每月的第一周

android - FFmpeg:如何使输出视频与输入视频具有相同的宽度、高度和 SAR

android - 有没有办法在android任务切换器中更改应用程序的缩略图(长按主页按钮)

java - Guice 3.0 + Tomcat 7.0 = ClassLoader 内存泄漏

c++ - 如何故意泄漏非指针堆分配的对象

android - 保存变量 (Android)

objective-c - 分析器声称某个对象在未释放时已被释放

java - xms 选项对内存使用的影响