Какие элементы переиспользуются в RecyclerView

«Какие элементы переиспользуются в RecyclerView» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

RecyclerView переиспользует элементы списка через механизм ViewHolder. Основные переиспользуемые компоненты:

  1. ViewHolder - хранит ссылки на View элемента списка
  2. ItemView - корневое View элемента (переиспользуется при скролле)
  3. Pool RecycledViewPool - пул для хранения открепленных ViewHolder'ов

Пример ViewHolder:

class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
    val textView: TextView = itemView.findViewById(R.id.text_view)
}

При скролле RecyclerView не создает новые View, а берет из пула старые и наполняет новыми данными через onBindViewHolder(). Это обеспечивает плавность работы даже с большими списками.