我必须在render()中使用libgdx渲染网格数组。我使用了handler,因为每次我在meshArr数组中的getMeshToRender()方法中获取新数据。
onCreate()
{
handler.removeCallbacks(sendUpdatesToUI);
handler.postDelayed(sendUpdatesToUI, 1000); // 1 second
}
Runnable sendUpdatesToUI = new Runnable()
{
public void run()
{
//DisplayLoggingInfo();
getMeshToRender();
handler.postDelayed(this, 1000); // 1 seconds
}
};
getMeshToRender()
{
.......
meshArr = new Mesh[numMesh];
.......
}
在Render()方法中,它最初加载了meshArr,但随后崩溃了OutOfMemoryError。
任何解决方案都是难以置信的。 感谢
答案 0 :(得分:0)
简单但唯一真实的答案是使用更少的内存。
要么你只是使用了太多不同的网格,你应该重新思考你的整个想法,或者你正在替换它们而不是妥善处理它们。
如果要释放未使用的网格,则应使用Mesh#dispose()