我的Android游戏在关闭和打开几次时会耗尽内存

时间:2010-05-21 19:58:42

标签: java android memory bitmap

我有一个Android游戏,其中包含菜单活动,然后是游戏的另一个活动,它创建了一个SurfaceView和Thread来处理画布绘图和游戏逻辑。退出游戏并重新启动时,或者如果打开和关闭键盘(从而重新启动活动),游戏内存不足,通常是在加载位图时:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

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

3 个答案:

答案 0 :(得分:1)

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

您可以查看launchMode here

的各种选项

答案 1 :(得分:0)

您目前如何加载和发布图片?

找到此resource

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

答案 2 :(得分:0)

您的背景可能正在泄露。 This应该有所帮助。