Описание тега android-paging
Компонент архитектуры подкачки упрощает для вашего приложения постепенную загрузку информации по мере необходимости из источника данных без перегрузки устройства или слишком длительного ожидания большого запроса к базе данных.
Обзор:-
Многие приложения работают с большими наборами данных, но им необходимо загружать и отображать только небольшую часть этих данных в любое время. Приложение может иметь тысячи элементов, которые оно потенциально может отображать, но ему может потребоваться доступ только к нескольким десяткам из них одновременно. Если данные хранятся или синхронизируются с удаленной базой данных, это также может замедлить работу приложения и тратить впустую план данных пользователя.
Хотя существующие API-интерфейсы Android позволяли разбивать контент на страницы, они имели значительные ограничения и недостатки:
- CursorAdapter упрощает сопоставление результатов запроса базы данных с элементами ListView.
- AsyncListUtil позволяет выполнять разбиение на страницы данных на основе позиции в RecyclerView, но не допускает непозиционное разбиение по страницам и заставляет использовать значения NULL как заполнители в счетном наборе данных.
Классы:-
Библиотека подкачки предоставляет следующие классы, а также дополнительные вспомогательные классы:
- DataSource: используйте этот класс, чтобы определить источник данных, из которого необходимо извлечь выгружаемые данные.
- PagedList: этот класс загружает данные из DataSource. Вы можете настроить, сколько данных загружается за раз и сколько данных должно быть предварительно загружено, минимизируя количество времени, которое ваши пользователи должны ждать загрузки данных.
- PagedListAdapter: этот класс является реализацией RecyclerView.Adapter, который представляет данные из PagedList.
- LivePagedListProvider: этот класс генерирует LiveData из предоставленного вами источника данных.