ListView与RecyclerView的区别

布局管理方式:

ListView:布局自己管理 只能竖向滑动
**RecyclerView: **布局有LayoutManager管理,LinearLayoutManager(线性),GridLayoutManager(网格)StaggeredGridLayoutManager(瀑布流)

Adapter的使用:

ListView:有默认的Adapter ArrayAdapter、CursorAdapter和SimpleAdaper 以及自定义Adapter
RecyclerView:需要自己实现Adapter

Item监听:

ListView:有子项点击监听函数
RecyclerView:需要自行定义接口实现

是否强制使用ViewHoler:

ListView:不强制使用
RecyclerView: 必须使用ViewHolder

缓存机制:

ListView:二级缓存
1. mActiveViews 用于屏幕内的ItemView缓存
2. mScrapViews用于缓存离开屏幕的ItemView
RecyclerView:四级缓存
1. mChangeScrap与mAttachScarp 用于屏幕内的ItemView快速重用
2. mCachedViews用于缓存离开屏幕的ItemView 默认两个
3. mViewCacheExtension 用户自定义
4. RecyclerViewPool 默认上限5个

缓存对象:

ListView:缓存的View
RecyclerView:缓存的ViewHolder

你可能感兴趣的:(ListView与RecyclerView的区别)