android - Dalvik 内存 fragment 处理

标签 android

能否请您告诉我 Dalvik 如何处理内存 fragment ? 例如,如果我有一个应用程序分配了一些小内存。但释放其中一些,然后再尝试分配一大块。 Dalvik 如何在堆中有所有“漏洞”的情况下处理这样的请求?

我需要 logcat 的帮助来理解这一点:

11-15 02:50:21.837 D/dalvikvm(  990): GC_BEFORE_OOM freed 16K, 40% free 9830K/16384K, paused 90ms, total 90ms
11-15 02:50:21.837 E/dalvikvm-heap(  990): Out of memory on a 5032864-byte allocation. 

它说我的应用程序使用了 16384K 中的 9830K。我知道 16M 是最大堆大小,它不能再增长了。

但这应该会留下 6554K 空闲空间(16384k - 9830K)。 为什么 dalvik 说“5032864 字节分配内存不足”。那是 4914K,比我剩下的要小。

谢谢。

最佳答案

看看这个,它可能会帮助你理解如何处理 dalvik 内存 fragment

Link1

关于android - Dalvik 内存 fragment 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404979/

相关文章:

android - 应用不同颜色的样式

java - 在 RecyclerView 中扩展项目时使用 TransitionManager 和 ChangeBounds 与layout_height : match_constraint 结合使用会产生奇怪的视觉效果

android - TextView isBold 总是返回 NORMAL

android - Idea Intellij 截图

android - 错误 "The connection to adb is down, and a severe error has occurred."

android - 运行牛轧糖的华为手机出现安全异常

android - 如何检查 VideoView 是否包含视频?

Android:在两个 Activity 之间传递图像及其 URI 时出现问题

Android ANR/4.4 版本崩溃

android - CustomListView 中的向下滚动问题