RecyclerView与ListView,GridView区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lishengko/article/details/56508331

RecyclerView是Android5.0的一个核心扩展包,毫不夸张的说该类是Android5.0中对编程人员最重要的一个扩展包。
简单讲下为什么用RecyclerView替换ListView和GridView
1.低耦合性
ListView,GridView只能实现单一的布局方式,RecyclerView可通过setLayoutManager实现ListView的垂直布局,GridView的水平布局,以及非常流行的瀑布流布局,实现了控件和布局方式的解耦。
2.高效
ListView,GridView在创建ItemView时,为了提高执行效率官方推荐使用视图缓存ViewHolder,RecyclerView直接将ViewHolder相关方法封好了(谷歌大神们的代码质量就不用怀疑了)。
ListView,GridView增删子项调用notifyDataSetChanged后,会将所有ItemView重新生成一遍。RecyclerView多了notifyItemInserted,notifyItemRemoved,notifyItemMoved,notifyItemChanged等可以更新单项ItemView的方法,效率大大提高。(实测添加,删除元素会更新当前和其邻近的ItemView)
3.丰富动画效果
ListView,GridView想实现ItemView的拖拽排序等操作非常复杂,所有的代码均需由程序员实现,还要考虑与原有控件,界面手势处理兼容性,实现难度大,执行效率不高。RecyclerView的扩展包提了ItemTouchHelper类,可以轻松的实现ItemView之间的拖拽排序等动画效果。

展开阅读全文

没有更多推荐了,返回首页