android-内存不足错误

时间:2013-12-06 14:25:58

标签: android heap

我正在开发一个在ImageView s中有很多Activity s的应用,但它们的大小总和约为2 MB。当用户点击某个按钮时,将显示另一个Activity,但当前的重启,我可以在logcat中看到以下错误。怎么了?!

12-06 17:53:07.224: E/dalvikvm-heap(3938): 7704000-byte external allocation too large for this process.
12-06 17:53:07.224: E/dalvikvm(3938): Out of memory: Heap Size=5895KB, Allocated=3283KB, Bitmap Size=22871KB, Limit=32768KB
12-06 17:53:07.224: E/dalvikvm(3938): Trim info: Footprint=5895KB, Allowed Footprint=5895KB, Trimmed=864KB
12-06 17:53:07.224: E/GraphicsJNI(3938): VM won't let us allocate 7704000 bytes

更新:我也在这些图片上使用了大量Animations并播放了背景音乐!

2 个答案:

答案 0 :(得分:1)

你提到图像大小的总和约为2mb。这是磁盘大小还是实际内存大小?请注意,将图像加载到内存时,它使用的内容远远多于保存到磁盘的文件。

我已成功使用下面的库来防止内存不足的问题。

https://github.com/nostra13/Android-Universal-Image-Loader

答案 1 :(得分:0)

我认为毕加索图书馆(http://square.github.io/picasso/)最适合图像加载,它会在您之后进行缓存和清理