在libgdx中,我过去经常释放所有资源,例如纹理,音频资源以及世界对象。通过调用dispose()释放了对纹理和声音资源的管理。但是问题仍然存在,并且堆大小越来越大。如果超过了最大大小,VM可能在某个时候无法分配内存用于进程,最终结果是 OutOfMemory 。请帮助我从this.App流程中脱颖而出

  1. Home Activity呈现为另一个扩展AndroidApplication(应用程序侦听器)的Activity。
  2. 我要通过在此初始化监听器在onCreate()中调用应用程序监听器。
  3. 将一些游戏数据与上下文一起传递给侦听器。
有帮助吗?

解决方案

如果您使用Bitmap类,则可能需要在处置之前检查每个对象上是否都调用recycle。这解决了我的许多记忆问题。

有关位图和recycle()的文档可在此处找到 http://developer.android.com/reference/android/graphics/Bitmap.html

如果那没有帮助,那么您将不得不多描述一些应用程序的结构。也许您有错误的线程或正在消耗资源的东西。您使用什么工具诊断内存问题?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top