【发布时间】:2010-11-18 15:58:03
【问题描述】:
我的问题可能看起来很幼稚,但我不知道如何更正确地表述它。问题是我在我的应用程序中创建和使用大型简单类型数组。我收到如下错误:
ERROR/dalvikvm-heap(1763): Out of memory on a 7907344-byte allocation.
是的,它足够大,但任务管理工具声称我的应用程序仅使用 30MB 内存,而其他应用程序同时使用 50MB 甚至 110MB(见过一次)并且系统中仍有 190MB 可用内存(不是系统应用程序,只是我安装的其他普通应用程序)。如果所有应用程序在启动时都提供相同的堆大小,它们怎么会变得这么大?
【问题讨论】:
-
可能是找到足够大的连续内存的问题。
-
一开始为什么要分配这么多?让我猜猜:不是缓冲流
-
我用它在 Canvas 上绘制位图。原因是位图是在 JNI 访问的本机代码中生成并不断变化的。
标签: java android memory-management