In my current implementation I simply set everything, no matter if it changed. My view is very simple, so setting a few TextViews and such won't be a performance problem, although it would be easy to check if it changed first. For the recyclerview I use the epoxy library by airbnb which does diffing automatically to figure out changes (although I plan to replace it with my own library in the future)