Android RecyclerView(一)为什么使用RecyclerView

版权声明:转载请说明出处 https://blog.csdn.net/qq_41816123/article/details/86064662
1.在ListView中,ViewHolder需要自己来定义,且这只是一种推荐的使用方式,不使用当然也可以,这不是必须的。只不过不使用ViewHolder的话,ListView每次getView的时候都会调用findViewById(int),这将导致ListView性能展示迟缓。而在RecyclerView中使用RecyclerView.ViewHolder则变成了必须,尽管实现起来稍显复杂,但它却解决了ListView面临的上述不使用自定义ViewHolder时所面临的问题。
2.我们知道ListView只能在垂直方向上滚动,Android API没有提供ListView在水平方向上面滚动的支持。或许有多种方式实现水平滑动,但是请想念我,ListView并不是设计来做这件事情的。但是RecyclerView相较于ListView,在滚动上面的功能扩展了许多。它可以支持多种类型列表的展示要求,主要如下:
  1. LinearLayoutManager,可以支持水平和竖直方向上滚动的列表。
  2. StaggeredGridLayoutManager,可以支持交叉网格风格的列表,类似于瀑布流或者Pinterest。
  3. GridLayoutManager,支持网格展示,可以水平或者竖直滚动,如展示图片的画廊。
3.相比较于ListView,RecyclerView.ItemAnimator则被提供用于在RecyclerView添加、删除或移动item时处理动画效果。
4.ListView有三个Adapter的默认实现,分别是ArrayAdapter、CursorAdapter和SimpleCursorAdapter。然而,RecyclerView的Adapter则拥有除了内置的内DB游标和ArrayList的支持之外的所有功能。RecyclerView.Adapter的实现的,我们必须采取措施将数据提供给Adapter,正如BaseAdapter对ListView所做的那样。
5.ListView通过AdapterView.OnItemClickListener接口来探测点击事件。而RecyclerView则通过RecyclerView.OnItemTouchListener接口来探测触摸事件。它虽然增加了实现的难度,但是却给予开发人员拦截触摸事件更多的控制权限。

总结:
我承认任何东西对比都没有全部的优势,上面的五点也只是单方面讲了下RecyclerView的优点,但我看了ListView和RecyclerView的一些文章整体来说RecyclerView还是比ListView好用的,可能业务需求的不同ListView更合适,它们之间远远不止这些优缺点的对比。但是我用了,我感觉在如果需要非常酷炫的条目的话,我强烈推荐大家使用RecyclerView,它继承了动画,可以快速的帮你实现其中一些简单的动画。

付:

这是2019年第一篇博客,祝大家工作顺利,学弟学妹学业有成。共勉

猜你喜欢

转载自blog.csdn.net/qq_41816123/article/details/86064662