0

我正在开发一个使用 OpenGL ES 2.0 的 Android 2.2 应用程序。所有 OpenGL ES 的东西都是用 C++ 实现的。

当我尝试加载纹理时出现此错误:

02-02 13:03:03.210: ERROR/dalvikvm-heap(4117): 1728000-byte external allocation too large for this process.
02-02 13:03:03.210: ERROR/dalvikvm(4117): Out of memory: Heap Size=6471KB, Allocated=3881KB, Bitmap Size=17023KB
02-02 13:03:03.210: ERROR/GraphicsJNI(4117): VM won't let us allocate 1728000 bytes

我应该检查什么来解决这个“内存不足”问题?

谢谢。

4

1 回答 1

0

嗯,首先,看起来您正试图将一个 16MB 的位图文件加载到内存中。您应该考虑减小该图像的大小。Android 只为每个进程分配一定数量的内存,看起来你正在处理它。

也许也会研究一些针对 Android 的内存优化?

于 2011-02-02T15:56:57.993 回答