Репозиторий к докладу "Лучшие практики RecyclerView"
Видео: https://www.youtube.com/watch?v=o8rzzQPOo2U
Слайды: https://speakerdeck.com/elvisfromsouth/luchshiie-praktiki-recyclerview
Каждый шаг - отдельная ветка в репозитории
- 00-init // Добавление основных сущностей (Модели, Активити, Разметки);
- 01-fingerprint // Создание дополнительной сущности-посредника
Fingerprint, на которую будет делегировано манипулированиеViewHolderдля каждого отдельного элемента списка; - 02-bind_optimization // "Классический" пример оптимизации в вызове
onBindViewHolder(...); - 03-decorations // Пример использования
ItemDecorationsв вопросе выставления отступов у элементов; - 04-diffutil // Добавление
DiffUtil, инструмента который высчитывает изменения в списке; - 05-listadapter // Добавление
ListAdapter, адаптера который выполняет расчетDiffUtilв другом потоке; - 06-payloads // Добавление расчета Payload для
DiffUtils, для изменения части данных внутри элемента списка; - 07-custom_animations // Добавление кастомных анимаций для элементов списка;
- 08-swipe_to_delete // Испльзование
ItemTouchHelperдля реализации Swipe-To-Delete; - 09-concat_adapter // Использование
ConcatAdapter; - 10-horizontal_items // Добавление горизонтального
RecyclerViewв демо; - 11-horizontal_fixed_width // Способ задать фиксированный размер элемента внутри горизинтального RecyclerView;
- 12-horizontal_save_state // Восстановления состояния вложенного горизонтального
RecyclerView; - 13-horizontal_items_optimisations // Оптимизации для вложенных горизонтальных
RecyclerView;