软引用不就是避免OOM的吗,和二级缓存机制的作用是一样的吧,可能二级缓存会更打程度的减少访问网络的次数吧,,但是如果在一个listview加载网络图片的项目中,是不是这二者选择一个用就行了?
首先,ListView加载图片,使用什么软引用什么的,其实都是避免oom,那么你可以做到一下几点
1.使用缓存,至于你说的两种,任意一种都是可以的,起码起到了作用
2.当ListView去网络读取图片的,异步操作的时候,你也需要做处理,当你用户滑动已经超过屏幕,就是没有在屏幕内显示的时候,你应该取消掉去
异步下载图片,完全没有必要再去执行了
3.缓存一般分三级,都是很清楚的,无非就是:内存-文件-网络,当然你也可以添加一些策略,比如:图片给的大小只能是整个app分布空间的1/8
左右就好了,在添加策略,比如:根据使用的策略,时间策略等等。这方面ImageLoader,Glide做的比较好,你可以去看看源码。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。