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

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

Есть ли весомая разница в производительности между стандартно-простыми, как, скажем, LinearLayoutManager, и такими красиво-хитронарисованными?
Никакой весомой разницы нет.
Любой из встроенных LM так же как и наш выполняет одинаковую работу: получает view от recycler, выполняет над ней measue(), что бы view сказала, какие размеры она хотела бы иметь и на основе этих размеров и следуя своей логике размещает её на экране. При этом нашему LM даже и неважно, каким размером хочет быть эта view, т.к. мы условились, что все элементы у нас или в 3/4 высоты или в полный экран, в зависимости от ориентации.
А всё таки есть ли разница в выборе якорной вьюшки, если нет необходимости менять списку ориентацию? Если да, то когда какую лучше брать?
Можно даже вообще не использовать якорные вьюшки и SparseArray viewCache! Вот, например, как:
  1. Смещаем все элементы как и раньше через offsetChildrenVertically(...)
  2. Если смещаем вверх, то находим самый нижний элемент и, начиная от его нижней границы, заполняем свободное место. Аналогично, если смещаем вниз.
  3. Не забываем пройти по всем элементам и определить, каких уже не видно на экране, что бы отправить их в корзину
Зарегистрируйтесь на Хабре, чтобы оставить комментарий