xx23x 2015-08-19 08:41 采纳率: 33.3%
浏览 1545

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

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

  • 写回答

2条回答 默认 最新

  • 曾淘 2015-08-19 08:56
    关注

    首先,ListView加载图片,使用什么软引用什么的,其实都是避免oom,那么你可以做到一下几点

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

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

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

    评论

报告相同问题?

悬赏问题

  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。