Android客户端开发 — RecyclerView和ListView区别

1. 优化

ListView优化需要自定义ViewHolder和判断convertView是否为null,而RecyclerView是存在规定好的ViewHolder

2. 布局不同

对于ListView,只能在垂直的方向滚动。而对于RecyclerView,里面的LayoutManager中制定了一套可以扩展的布局排列接口,所以我们可以重写LayoutManager来定制自己需要的布局。RecycleView可以根据LayoutManger有横向,瀑布和表格布局

3. 更新数据

recycleView可以支持在添加,删除或者移动Item的时候,RecyclerView.ItemAnimator添加动画效果,而listview不支持。而且RecyclerView有四重缓存,而ListView只有二重缓存。ListView和RecyclerView最大的区别在于数据源改变时的缓存的处理逻辑,ListView是"一锅端",将所有的mActiveViews都移入了二级缓存mScrapViews,而RecyclerView则是更加灵活地对每个View修改标志位,区分是否重新bindView

4. 自定义适配器

ListView的适配器继承ArrayAdapter;RecycleView的适配器继承RecyclerAdapter,并将范类指定为子项对象类.ViewHolder(内部类)

5. 绑定事件不同

ListView是在主方法中ListView对象的setOnItemClickListener方法;RecyclerView则是在子项具体的View中去注册事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin&Amy

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值