recyclerView DiffUtil使用
DiffUtil是和RecyclerView一块用的,DiffUtil用来比较两个数据集,他的最大用处是在RecyclerView刷新时,不在无脑。
以前adapter.notifyDataSetChanged()有两个缺点:
1.不会触发RecyclerView的动画(删除、新增、位移、change动画)
2.性能较低
DiffUtil使用方式:
使用DiffUtil时设计以下几个核心类:
DiffUtil.Callback:这是最核心的类,
DiffUti:用过静态方法DiffUtil.calculate(DiffUti.Callback)来计算数据几的更新
DiffResult:是DiffUtil的计算结果的对象,通过DiffResult.dispatchUpdatesTo(RecyclerView.Adapter)来进行更新
使用步骤:
1、自定义类继承DiffUtil.Callback,通过覆盖特定方法给出数据比较逻辑。
2、调用DiffUtil.ca