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