我正在开发一个在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
并播放了背景音乐!
答案 0 :(得分:1)
你提到图像大小的总和约为2mb。这是磁盘大小还是实际内存大小?请注意,将图像加载到内存时,它使用的内容远远多于保存到磁盘的文件。
我已成功使用下面的库来防止内存不足的问题。
答案 1 :(得分:0)
我认为毕加索图书馆(http://square.github.io/picasso/)最适合图像加载,它会在您之后进行缓存和清理