Try using stable IDs in your RecyclerView.Adapter
setHasStableIds(true)
and override getItemId(int position)
.
Without stable IDs, after notifyDataSetChanged()
, ViewHolders usually assigned to not to same positions. That was the reason of blinking in my case.
You can find a good explanation here.