这短时间由于在改BUG,总是碰到OOM问题。特别关注了一下。也总结了一些OOM的处理方式:
1.首先确保服务器来的图片大小合适。
2.对图片进行压缩处理显示,具体用到BitmapFactory.Options 这个类,他可以提前向服务器请求,只得到图片的长宽,然后根据项目需要,自己设定size,在向服务器请求合适大小的图片。
3.利用软引用来进行缓存。这个真心好用。具体就是用HashMap<String ,<SoftRefence>Bitmap>.。
4.采用二级缓存,具体思路是:读取图片时,先看看map缓存有没有,没有的话,在看看sd卡上有没有。都没有则下载图片。图片下载后,显示,并保存在sd卡和map缓存里。
本文转自里冲51CTO博客,原文链接:http://blog.51cto.com/coollast/1163231 ,如需转载请自行联系原作者