¿Cómo funciona RecyclerView internamente en Android?

¿Cómo funciona RecyclerView internamente en Android?

RecyclerView es un ViewGroup agregado al estudio de Android como sucesor de GridView y ListView. Es una mejora en ambos y se puede encontrar en los últimos paquetes de soporte v-7. Ha sido creado para hacer posible la construcción de cualquier lista con diseños XML como un elemento que se puede personalizar enormemente mientras mejora la eficiencia de ListViews y GridViews. Esta mejora se consigue reciclando las vistas que quedan fuera de la visibilidad del usuario. Por ejemplo, si un usuario se desplazó hacia abajo hasta una posición en la que se ven los elementos 4 y 5; los elementos 1, 2 y 3 se borrarían de la memoria para reducir el consumo de memoria. Al desarrollar una aplicación para Android, es muy probable que necesitemos usar RecyclerView. En este artículo, veremos cómo funciona RecyclerView en el sistema operativo Android. Hablaremos de ello.

  1. ¿Qué es exactamente RecyclerView?
  2. Componentes de RecyclerView
  3. ¿Cómo funciona realmente?
  4. ¿Por qué ViewHolder se usa en RecyclerView?

¿Qué es exactamente RecyclerView?

RecyclerView es un ViewGroup que completa una lista basada en una colección de datos proporcionados por ViewHolder y se los muestra al usuario en la pantalla. Puede consultar este artículo RecyclerView en Android con ejemplo

Componentes de RecyclerView

Los componentes principales de RecyclerView son,

  1. AdaptadorSoporte de vista
  2. LayoutManagerAdaptador
  3. Es un subtipo de RecyclerView.

los adaptador es una clase Toma el conjunto de datos que debe mostrarse al usuario en RecyclerView. Actúa como la principal clase responsable de vincular las vistas y mostrarlas. La mayor parte del trabajo se realiza dentro de la clase de adaptador de RecyclerView.

  • ViewHolder: ViewHolder es un tipo de clase auxiliar que nos permite dibujar la interfaz de usuario para elementos individuales en la pantalla.
  • Administrador de diseño: Administrador de diseño en recyclerView nos ayuda a determinar cómo mostrar los elementos en la pantalla. Se puede hacer de forma lineal o en una cuadrícula. RecyclerView viene con algunas implementaciones de layoutManager de forma predeterminada.

Funciona como el órgano rector de RecyclerView, informando al adaptador de RecyclerView cuándo crear una nueva vista.

¿Cómo funciona realmente?

Entonces, echemos un vistazo a cómo funciona realmente RecyclerView. Cuando la gente habla de recyclerView, siempre dice que recicla las vistas. ¿Pero qué significa exactamente? Entonces, digamos que nos estamos desplazando por una lista con 50 elementos y solo mostramos 5 de ellos a la vez, como en

RecyclerView en Android

Imagen 1: La vista del reciclador.

Los elementos del 1 al 5 son los que están visibles en la pantalla. Cuando nos desplazamos hacia arriba, el elemento x será el que aparecerá a continuación en la pantalla. ¡Cada artículo en esta lista es único y tradicional!

Entonces, ¿cómo funciona el reciclaje en esto?

Vamos a dar un paso a la vez.

  • Paso 1: En el lanzamiento inicial, los primeros elementos del x al 4 deben mostrarse en la pantalla. Esos son los cinco elementos que son visibles en el modo de vista. Nos referiremos a ellos como una vista visible. Y, cuando la lista se desplaza hacia arriba, el elemento 5 es el nuevo elemento que se cargará.
  • Paso 2: Cuando desplazamos hacia arriba un elemento, el elemento x se mueve hacia arriba y un nuevo elemento, el elemento 5, ingresa a la categoría de vista visible. El elemento 6 ahora está en modo de espera. El elemento x se ha movido fuera de la vista visible en la parte superior de la pantalla. Esto se conoce como una vista descartada.
  • Paso 3: Digamos que subimos un paso más. Esto eliminará el elemento 1 de la pantalla y permitirá que ingrese el elemento 6. El artículo 1 también se desecha en este caso. Ahora tenemos dos vistas eliminadas, el elemento x y el elemento 1. Ahora se guardarán en una colección de vistas descartadas. Entonces, cuando necesitamos cargar una nueva vista en el grupo de vistas visibles, considere el elemento 7, se usa la vista de la colección de vistas descartadas.
  • Etapa 4: Cuando cargamos el elemento 7, ahora seleccionamos una vista de la colección de vistas descartadas. La vista que cargamos desde la vista descartada se denomina vista sucia. Así es como ocurre el reciclaje de vistas en recyclerView, que es una de las principales razones del rendimiento mejorado de RecyclerView. Las vistas del elemento se reutilizan en este proceso para dibujar nuevos elementos en la pantalla.

¿Por qué ViewHolder se usa en RecyclerView?

ViewHolders en RecyclerView ayuda a optimizar las vistas de otra manera. Entonces, digamos que tenemos 100 elementos en la lista y queremos mostrar 5 de ellos en la pantalla. Cada elemento de esta lista tiene un TextView y un ImageView. Entonces, mapear cada vista usando findViewById siempre es una tarea costosa, e imagine cuántos findViewByIds necesitaríamos para mapear todas las TextViews e ImageViews de 100 elementos, es decir, 200 findViewByIds. Entonces, cuando usamos RecyclerView, solo se crean seis elementos al principio, con cinco cargados a la vez para mostrar en pantalla y uno para cargar. Ahora tenemos 7 ViewHolders si nos desplazamos hacia abajo en la lista. Uno para la vista descartada, uno para la vista que se va a cargar y cinco para las que se muestran. bComo resultado, solo podemos usar 14 findViewById a la vez porque tenemos un máximo de 7 ViewHolders.

Conclusión

ViewHolders y el reciclaje de vistas han dado como resultado un rendimiento mejorado en RecyclerViews. De manera similar, si tenemos varios tipos de vista, digamos ViewType1 y ViewType2, tendremos dos colecciones distintas de vistas descartadas de los tipos ViewType1 y ViewType2. Y, cuando las vistas se reciclan, la vista ViewType1 se asignará solo a las vistas ViewType1, mientras que las vistas ViewType2 se asignarán a las vistas ViewType2. Así es como funciona recyclerView interna y efectivamente.

También te puede interesar