Now I traced the RecyclerView's source code, notifyDataSetChanged() looks so different inside notifyItemRangeChanged().
However, I would strongly suggest to use DiffUtils, or ListAdapter. They might prevent the issue of blinking.
https://developer.android.com/reference/androidx/recyclerview/widget/AsyncListDiffer
https://developer.android.com/reference/androidx/recyclerview/widget/ListAdapter