Don't clear lists in onPause()
Various activities and fragments clear their lists in onPause() and asynchronously repopulate them in onResume(). This results in the appearance of the list briefly changing as the user navigates away.
For lists where items are never removed, we can leave the list populated in onPause() and asynchronously add any new items in onResume(). This will allow the views for existing items to be recycled.
For lists where items can be removed while the activity/fragment is paused, we'll need another solution. Clearing and then asynchronously repopulating the list in onResume() may result in the old contents being briefly visible, then disappearing, then the new contents appearing. Asynchronously loading the new contents in onResume() and then replacing the old contents (using a batched update to avoid flicker) may be acceptable as long as we gracefully handle any attempts to interact with items that are due to be removed.
See discussion on !276 (merged).