ListView和RecyclerView 的区别

1.缓存不同
     a.ListView 是做的二级缓存,缓存的是View(ViewHolder需要自己去定义,如果不使用ViewHolder的话,每次getView的时候都会调用findViewById(int),这将导致ListView性能展示迟缓.
     b.RecyclerView 做的是四级缓存,缓存的是Holder.默认缓存的数量是5个.(页面优化,也可以从设置缓存数量这块入手),所有的RecyclerView 共用一个缓存池.
      // RecyclerView.RecycledViewPool viewPool=new RecyclerView.RecycledViewPool();
      // viewPool.setMaxRecycledViews(1,8);
      // recyclerView.setRecycledViewPool(viewPool);
  2.LayoutManager
    a.ListView 只支持垂直布局
    b.RecyclerView,支持三种类型的布局,垂直,瀑布流,横向

  3.ItemAnimator
    相对于ListView, RecyclerView的ItemAnimator提供了添加,移除,移动item时候的处理动画效果,如果不想自定义动画,可以采用DefaultItemAnimator 他默认的动画来实现.

  4.ItemDecoration
    a,ListView 在xml中可以设置分隔符
    b.RecyclerView 默认情况下并不在Item之间展示分割线.不过可以应用官方的DividerItemDecoration.java来实现

  5.RecyclerView 增加了条目手势处理OnItemTouchListener 监听,拦截触摸事件更多的控制权限;而ListView 只有OnItemClickListener 点击事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值