面试系列——ListView 和 RecyclerView 简要对比分析
Posted BridgeGeorge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试系列——ListView 和 RecyclerView 简要对比分析相关的知识,希望对你有一定的参考价值。
使用上
ListView:
- 继承重写BaseAdapter类;
- 自定义ViewHolder与convertView的优化;
- 默认不支持单个View 刷新
RecyclerView:
- 继承重写RecyclerView.Adapter与RecyclerView.ViewHolder
- 设置LayoutManager,以及layout的布局效果
- 支持局部刷新和动画
缓存
二级缓存 :屏幕内View 屏幕外View
四级缓存 :屏幕内View 屏幕外View
ViewCacheExtension(用户自定义) RecyclerPool (用户自定义)
选取策略
- 性能上: RecyclerView 并不比ListView 有明显的性能优势。
- 功能上: RecyclerView 适用于灵活布局时,新组件开发优先选取RecyclerView 。
附录
RecyclerView 使用技巧
两个位置函数的区别
- adapterPosition 在Adapter中绑定点击事件,注意处理 NO_POSITION 的case。
- layoutPosition 在layoutManager获取 用户看到的位置
参考资料
【腾讯Bugly干货分享】https://zhuanlan.zhihu.com/p/23339185
以上是关于面试系列——ListView 和 RecyclerView 简要对比分析的主要内容,如果未能解决你的问题,请参考以下文章
如何在适配器外部的 ListView 和 GridView 中获取项目位置?