我是android的新手,我正在开发一个应用程序,在这个应用程序中,我正在从服务器下载可绘制数组中的图像。一切都是正确的,但是当活动(在线程中一个接一个地下载绘图文件)加载时,一段时间后,它会出现内存溢出错误。
请帮帮忙。
发布于 2011-04-05 15:37:52
尝试使用streams而不是一次加载它,并使用SoftReference。并阅读http://davidjhinson.wordpress.com/2010/05/19/scarce-commodities-google-android-memory-and-bitmaps/
发布于 2011-04-05 16:01:52
SoftReference<Drawable>数组,将每个可绘制的存储在数组中作为new SoftReference(myDrawable)。检索SoftReference时,请检查SoftReference.get()是否不为空。如果为null,则说明可绘制对象已被垃圾收集器(GC)回收,您需要将其重新下载到内存中;如果不为null,则SoftReference.get()将您存储在SoftReference.的第一个元素
SoftReferences允许GC在遇到内存不足的情况时回收对象占用的内存。
https://stackoverflow.com/questions/5548635
复制相似问题