Как стать автором
Обновить

Комментарии 4

Спасибо за отличную статью.
Есть ли какие либо метрики по которым можно определить, какой прирост производительности может дать это решение?
Примеры того сколько было пропущенных кадров на каком либо экране без этого решения и с ним?

Показалось избыточным приводить такие замеры из-за того, что решение по выносу создания вьюхолдеров с основного потока по определению позволяет выиграть время создания вьюхолдеров - время синхронизации.

Единственное, что хотелось бы отметить, что забыл упомянуть в статье — лучше всего это решение показывает себя на экранах, в которых есть возможность, собственно, заняться этим префетчингом, т.е. где начальное состояние (загрузка) достаточно по продолжительности для того, чтобы успеть наполнить вьюпул достаточным количеством вьюхолдеров

Спасибо за интересный материал!
Хотелось бы присоединиться к исходному комментарию и немного уточнить вопрос:
При каких размерах(числе элементов) на ваш взгляд будет заметна разница в производительности?

Имеет ли смысл реализовать описанное, если обычно в ресайклере не больше 40-50 простых элементов(ImageView + TextView + Button) и имеется diffutil?

Думаю, что для описанного вами случая, не стоит применять подход по нескольким причинам:

  1. Простые элементы

  2. Небольшое количество viewType (из вопроса непонятно, но кажется, что вообще 1)

При таких вводных настройки ресайклера по умолчанию + диффутил отлично справятся с эффективным использованием один раз созданных вьюшек

Зарегистрируйтесь на Хабре, чтобы оставить комментарий