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

posted @ 2016-11-15 16:40  ChHM  阅读(731)  评论(0编辑  收藏  举报