1

我正在使用 Android Min3d 库从 Wavefront .obj 文件加载和绘制 3D 模型。

该库工作正常(从 .obj 文件加载和绘图),但问题是当我关闭应用程序,然后我第二次再次启动它时,应用程序崩溃并在尝试创建位图时显示 java.lang.OutOfMemoryError网格纹理。我为 3D 模型(大小为 2048 x 2048)使用单个大纹理。

它在第二次启动时崩溃的事实是否表明 Min3d 框架中存在内存泄漏?

有没有人使用这个库遇到过这个问题?你如何解决这个问题?

我尝试阅读源代码,发现在 Min3D 将纹理发送到 GPU 后,纹理的位图总是被回收。所以我还没有发现任何泄漏。

你能告诉我在这种情况下可能出现什么问题吗?提前谢谢。

注意:如果我将纹理调整为 1024x1024,第二次启动不会崩溃,但应用程序会在第 4 次/第 5 次启动时崩溃。

4

2 回答 2

1

在开始时清除您的游戏模型。列表、数组...如果您使用异步任务,请查看它们。

于 2012-10-04T17:06:55.600 回答
0

尝试使用较小的纹理(小于 1024x1024)

于 2013-04-09T11:54:47.360 回答