gpt4 book ai didi

android - 在 eclipse 中使用 MAT 并解决内存泄漏

转载 作者:行者123 更新时间:2023-11-29 22:06:39 25 4
gpt4 key购买 nike

enter image description here我正在使用 Eclipse 的 MAT 来分析我的 Android 项目中的内存使用情况。

我用过

try {  
Debug.dumpHprofData("/mnt/sdcard/myapp.hprof");
Log.i("","Calle d dumpHprofData");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

在我的 onCreate().. 中生成 myapp.hprof 文件。然后使用“hprof-conv myapp.hprof mat.hprof”将其转换为 mat.hprof

我使用 eclipse 打开“mat.hprof”,它显示了巨大的漏洞。

我不知道如何分析和解决这些泄漏。

例如:

 7,321 instances of "java.lang.String", loaded by "<system class loader>" occupy 457,648 (23.06%) bytes.   

Keywords
java.lang.String

我无法使用 MAT 打开与其相关的源文件。

请帮忙。

谢谢
斯内哈

最佳答案

转换 hprof 文件后...尝试从 MAT 工具打开文件...文件 -> 打开堆转储 -> 浏览并选择您的文件。

现在单击直方图 View 并在顶部输入您的 Activity 名称。您将能够看到浅堆和保留堆。

对象应为 1。如果大于 1,请检查实时引用。

右键单击您的类名 -> 选择 GC 根路径 -> 排除弱引用。

希望这对您有所帮助。

关于android - 在 eclipse 中使用 MAT 并解决内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10633696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com