- 前言
在項目中如果列表不斷刷新而且數據很大,調用notifyDataSetChanged可能會導致屏幕卡頓。 - 使用
通過如下方法替換直接調用notifyDataSetChanged,減少不必要的刷新, calculateDiff方法能夠計算出那些Item需要刷新,那些不需要刷新。
DiffUtil.DiffResult diffResult =
DiffUtil.calculateDiff(new DiffCallBack(mData, list), true);
diffResult.dispatchUpdatesTo(adapter);