带有图像的Android应用程序崩溃

带有图像的Android应用程序崩溃,android,image,out-of-memory,crash,Android,Image,Out Of Memory,Crash,我正在开发一个android应用程序,可以从相机或图书馆拍照,并在上面做一些事情。关键是,在使用了一段时间后,应用程序崩溃了。我已经尝试了我所能想到的每一种可能的优化,在可能的情况下调用gc,在我离开某个活动时使图像无效,甚至从缓存中删除活动。但我仍然会出现内存不足错误,应用程序崩溃 有没有关于如何避免此类错误的建议?甚至是如何有效地从drawables文件夹加载图像。或者在活动更改时抛出所有不需要的对象的有效方法,以便只使用活动所需的内存 您是否管理位图对象?如果是这样,则必须调用Bitmap

我正在开发一个android应用程序,可以从相机或图书馆拍照,并在上面做一些事情。关键是,在使用了一段时间后,应用程序崩溃了。我已经尝试了我所能想到的每一种可能的优化,在可能的情况下调用gc,在我离开某个活动时使图像无效,甚至从缓存中删除活动。但我仍然会出现内存不足错误,应用程序崩溃


有没有关于如何避免此类错误的建议?甚至是如何有效地从drawables文件夹加载图像。或者在活动更改时抛出所有不需要的对象的有效方法,以便只使用活动所需的内存

您是否管理位图对象?如果是这样,则必须调用Bitmap.recycle()方法


我也遇到过类似的问题,并最终追踪到了特定的图像。在我的400张图片中,有三张是巨大的(文件大小)。因此,我会检查您的所有图像是否具有相似的文件大小(通常与图像大小直接相关)


位图不是很大吗?你的平均图片有多大?

Bitmap.recycle()是你优化内存使用的朋友。是的,我在任何可能的地方都使用Bitmap.recycle()。我的图像有点像每个活动的墙纸,大小为640x960px,大小约为250kB。那不应该是问题。我有5mb的图像,这导致了我的问题。不过,再仔细检查一下,它们都在250kB左右,大多数都在250kB左右,其中8个是1MB PNG。为了排除故障,我将删除这些1MB图像,看看是否仍然发生这种情况