Chapter 16. Diffutil and Data Binding: Life in the Fast Lane

image

Your app needs to run as smoothly and efficiently as possible.

But if you’re not careful, large or complex data sets can cause your recycler view to glitch. In this chapter, we’ll introduce you to DiffUtil: a utility class that adds extra smarts to your recycler view. You’ll find out how to use it to make efficient updates to your recycler view. You’ll discover how ListAdapters make using DiffUtil a breeze. And along the way, you’ll learn how to get rid of findViewById() for good by implementing data binding in your recycler view code.

The recycler view displays task data correctly…

In the previous chapter, we added a recycler view to the Tasks app that displays its data exactly how we want it to. Each task is shown in a separate card, and each card displays the task name and whether it has been completed. The cards are then laid out in a two-column grid like this:

image

…but when the data’s updated, the recycler view jumps

Each time we add a new task, the recycler view gets redrawn so that it includes the new record and stays up-to-date. When it does this, however, the recycler view jumps and it’s not very smooth.

Each time the recycler view needs to be updated, its entire list gets redrawn. There ...

Get Head First Android Development, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.