开发者社区> 问答> 正文

安卓listview加载网络图片时,当时用了软引用之后,是不是就不用在使用二级缓存机制了

软引用不就是避免OOM的吗,和二级缓存机制的作用是一样的吧,可能二级缓存会更打程度的减少访问网络的次数吧,,但是如果在一个listview加载网络图片的项目中,是不是这二者选择一个用就行了?

展开
收起
爵霸 2016-06-14 08:19:54 2026 0
1 条回答
写回答
取消 提交回答
  • 首先,ListView加载图片,使用什么软引用什么的,其实都是避免oom,那么你可以做到一下几点

    1.使用缓存,至于你说的两种,任意一种都是可以的,起码起到了作用

    2.当ListView去网络读取图片的,异步操作的时候,你也需要做处理,当你用户滑动已经超过屏幕,就是没有在屏幕内显示的时候,你应该取消掉去
    异步下载图片,完全没有必要再去执行了

    3.缓存一般分三级,都是很清楚的,无非就是:内存-文件-网络,当然你也可以添加一些策略,比如:图片给的大小只能是整个app分布空间的1/8
    左右就好了,在添加策略,比如:根据使用的策略,时间策略等等。这方面ImageLoader,Glide做的比较好,你可以去看看源码。

    2019-07-17 19:36:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载