gpt4 book ai didi

java - Android 中的堆转储和内存使用差异?

转载 作者:行者123 更新时间:2023-12-01 05:51:25 27 4
gpt4 key购买 nike

好吧,我通常不会寻求帮助,因为我通常更喜欢自己寻找答案,但不幸的是我似乎无法做到这一点。

我正在摆弄 Android 2.1+ 的动态壁纸,一切进展顺利,直到我开始遇到 OOM 错误:

Java.lang.OutOfMemoryError: bitmap size exceeds VM budget

好的 - 我做了研究,发现我肯定在某个地方存在内存泄漏。所以我阅读了如何分析此类问题,打开 DDMS 并进行了堆转储。堆大小通常约为 4.5-5mb,并且永远不会超过 60%。这是没有意义的,因为我检查了我的开发手机上正在运行的服务,它报告我的进程使用了​​ 35-42mb 的内存。

我并不是要求任何人找到我的泄漏,因为这需要大量代码等。只是为了解释如何正确分析我的内存使用情况,因为我似乎对发生的事情感到完全傻眼。

最佳答案

我猜您已经这样做了,但以防万一...您是否检查了触发 OutOfMemoryError 的行?您尝试创建的位图有多大?

如果是泄漏,这里有一篇文章可以帮助您分析堆转储(尽管文章标题是这样,但您不必使用 eclipse):

Android ==> Memory Analysing ==> Eclipse memory analyzer?

祝你好运。

关于java - Android 中的堆转储和内存使用差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561880/

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