假设
首先,让我们假设有一个存在 10000 张图片的列表。
用户进入列表之后,便迫不及待地要跑到最下面,看最下面的图片。这时候如果我们使用的是一个队列进行加载任务的话,那么用户就要等待前面的9900+张的图片加载完成之后才能看到想看到的图片了。
而这不是我们所希望的。我们希望的是用户滑动到哪里,就加载哪里的资源,而其他地方的东西就要回收掉,以节省空间。
1.修改RecyclerView的View回收方法
在RecyclerView.Adapter里面,我们只需要修改一下当View被移除的时候的方法,这一步很简单:
@Override
public void onViewDetachedFromWindow(RecyclerView.ViewHolder holder) {
super.onViewDetachedFromWindow(holder);
//获取被移除的ViewHolder
ImageItemViewHolder viewHolder = (ImageItemViewHolder)holder;
//从ViewHolder里面获取唯一的TAG,然后交由自定义的线程池来终止任务
OCImageLoader.loader().cancelTask(vi

本文探讨如何在Android中优化图片加载和缓存,通过修改RecyclerView的View回收方法和创建线程池来实现。目标是提高用户体验,确保用户滑动到哪张图片时即加载哪张,同时回收不再需要的资源。
最低0.47元/天 解锁文章
1928

被折叠的 条评论
为什么被折叠?



