It will always be more efficient to use more specific change events if you can. Rely on notifyDataSetChanged as a last resort. More... (⌘F1)
Inspection info: The RecyclerView adapter's onNotifyDataSetChanged method does not specify what about the data set has changed, forcing any observers to assume that all existing items and structure may no longer be valid. `LayoutManager`s will be forced to fully rebind and relayout all visible views.