文章目录
#ListView 与RecycleView对比
###内存回收机制比较
public final class Recycler {
final ArrayList mAttachedScrap = new ArrayList();
private ArrayList mChangedScrap = null;
final ArrayList mCachedViews = new ArrayList();
private final List mUnmodifiableAttachedScrap = Collections.unmodifiableList(mAttachedScrap);
private int mViewCacheMax = DEFAULT_CACHE_SIZE;
private RecycledViewPool mRecyclerPool;
private ViewCacheExtension mViewCacheExtension;
private static final int DEFAULT_CACHE_SIZE = 2;
Recycler中存了很多list,在获取View的过程中的顺序
先去从scrap中的list取,如果没有就到cache中获取,另外还有ViewCacheExtension和RecycledViewPool这两个额外是选项需要开发者自己去设置。
从这里我们可以看出,RecyclerView提供了比AbsListView更加完善的回收机制,配以细节的优化和postOnAnimation方法所保证的”Android 16ms”机制,RecyclerView在滑动性能上确实会比AbsListView更出色。
来源文章