Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的Android游戏在关闭和打开两次后内存不足_Java_Android_Memory_Bitmap - Fatal编程技术网

Java 我的Android游戏在关闭和打开两次后内存不足

Java 我的Android游戏在关闭和打开两次后内存不足,java,android,memory,bitmap,Java,Android,Memory,Bitmap,我有一个Android游戏,它有一个菜单活动,然后是另一个创建SurfaceView和线程来处理画布绘制和游戏逻辑的游戏活动。当您退出游戏并再次启动过多或打开和关闭键盘(从而重新启动活动)时,游戏内存不足,通常在加载位图时: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 当游戏状态改变时,我如何将所有图像保存在内存中而不重新加载它们,或者如何从内存中释放它们并在游戏重新启动时重新加载它们?您当前如何加载和释放图像 找到这个

我有一个Android游戏,它有一个菜单活动,然后是另一个创建SurfaceView和线程来处理画布绘制和游戏逻辑的游戏活动。当您退出游戏并再次启动过多或打开和关闭键盘(从而重新启动活动)时,游戏内存不足,通常在加载位图时:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

当游戏状态改变时,我如何将所有图像保存在内存中而不重新加载它们,或者如何从内存中释放它们并在游戏重新启动时重新加载它们?

您当前如何加载和释放图像

找到这个

“在将图像传递给服务器之前,尽量不要将其加载到字节数组中
BitmapFactory
而是将
InputStream
直接传递给
BitmapFactory
。图像的大小有一个限制。“

当前如何加载和释放图像

找到这个

“在将图像传递给服务器之前,尽量不要将其加载到字节数组中
BitmapFactory
而是将
InputStream
直接传递给
BitmapFactory
。图像的大小有一个限制。“

您在清单中设置了android:launchMode吗?如果您没有在onResume/onStart中明确处理返回原始活动的问题,则可能会同时运行多个游戏活动副本


您可以查看launchMode的各种选项

您是否在清单中设置了android:launchMode?如果您没有在onResume/onStart中明确处理返回原始活动的问题,则可能会同时运行多个游戏活动副本


您可以查看launchMode的各种选项,您的上下文可能正在泄漏。应该有帮助。

您的上下文可能正在泄漏。应该有帮助。

我尝试了两个活动的启动模式的所有组合,但问题仍然存在。我尝试了两个活动的启动模式的所有组合,但问题仍然存在。