Android:使用Min3d库加载Wavefront.obj文件,第二次发射由于OutOfMemoryError而崩溃

Android:使用Min3d库加载Wavefront.obj文件,第二次发射由于OutOfMemoryError而崩溃,android,out-of-memory,wavefront,Android,Out Of Memory,Wavefront,我正在使用Android Min3d库从Wavefront.obj文件加载并绘制一个3D模型 该库工作正常(从.obj文件加载和绘制),但问题是当我关闭应用程序,然后再次启动它时,应用程序崩溃,并在尝试为网格纹理创建位图时显示java.lang.OutOfMemoryError。我对3D模型使用单个大纹理(大小为2048 x 2048) 它在第二次发布时崩溃的事实是否表明Min3d framework中存在内存泄漏 有人使用过这个图书馆吗?你如何解决这个问题 我试着阅读源代码,我发现在Min3D

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

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

它在第二次发布时崩溃的事实是否表明Min3d framework中存在内存泄漏

有人使用过这个图书馆吗?你如何解决这个问题

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

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


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

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

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

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

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

我一直在跟踪内存泄漏,到目前为止,我非常确定位图不是泄漏源。保存obj数据(如顶点位置、法线、uv坐标等)的缓冲区可能是泄漏源。我一直在跟踪内存泄漏,到目前为止,我非常确定位图不是泄漏源。保存obj数据(如顶点位置、法线、uv坐标等)的缓冲区可能是泄漏源。我忘了提到我试图将Min3d与高通Vuforia AR集成。结果表明,泄漏发生在Vuforia一侧,因为其组件的一部分引用了以前的活动。感谢您的关注。我忘了提及我试图将Min3d与高通Vuforia AR集成。结果表明,泄漏发生在Vuforia一侧,因为其部分组件引用了以前的活动。谢谢你的关心。