0

我必须在 render() 中使用 libgdx 来渲染网格数组。我使用了处理程序,因为每次我在 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 而崩溃。

任何解决方案都将是可观的。谢谢

4

1 回答 1

0

简单且唯一真实的答案是使用更少的内存。

要么你只是使用了太多不同的网格,你应该重新考虑你的整个想法,或者你正在替换它们并且没有正确处理旧的。

如果要释放未使用的网格,则应使用Mesh#dispose()

于 2012-04-22T16:10:58.787 回答