¿Cuál es la diferencia entre listview y recyclerview en Android?

¿Qué es RecyclerView?

-> El widget RecyclerView es una versión más avanzada y flexible de ListView.

¿Por qué RecyclerView?

-> RecyclerView es un contenedor para mostrar grandes conjuntos de datos que se pueden desplazar de manera muy eficiente manteniendo un número limitado de vistas.

¿Cuándo deberías usar RecyclerView?

-> Puede usar el widget RecyclerView cuando tiene colecciones de datos cuyos elementos cambian en tiempo de ejecución en función de la acción del usuario o eventos de red.

RecyclerView v / s ListView

Hay muchas nuevas funcionalidades extendidas disponibles en RecyclerView que ListView no admite directamente de la siguiente manera:

  1. El desplazamiento horizontal directo no es compatible con ListView. Mientras que en RecyclerView puede implementar fácilmente el desplazamiento horizontal y vertical .
  2. ListView solo admite una vista de lista lineal simple con desplazamiento vertical. Mientras que RecyclerView admite tres tipos de listas que utilizan RecyclerView.LayoutManager. 1) StaggeredGridLayoutManager 2) GridLayoutManager , 3) LinearLayoutManager . Te daré una breve introducción sobre estas 3 listas más adelante.
  3. ListView le ofrece la opción de agregar un divisor mediante el parámetro dividerHeight , mientras que RecyclerView le permite personalizar el divisor (espaciado) entre dos elementos mediante la clase RecyclerView.ItemDecoration .

Aprendamos RecyclerView con un ejemplo en Android

Básicamente depende de su implementación. RecyclerView es el nuevo widget que tiene diferentes principios de arquitectura. Si su lista es simple y no usaría los modos de Elección, el modo de Selección y otras cosas difíciles como CursorAdapter, entonces es más rápido y mejor usar RecyclerView: tendría un mejor rendimiento.

En otro caso, es mejor usar ListView : tiene todas las cosas como SelectionMode listas para usar.

Básicamente depende de su implementación. RecyclerView es el nuevo widget que tiene diferentes principios de arquitectura. Si su lista es simple y no usaría los modos de Elección, el modo de Selección y otras cosas difíciles como CursorAdapter, entonces es más rápido y mejor usar RecyclerView: tendría un mejor rendimiento. En otro caso, es mejor usar ListView: tiene todas las cosas como SelectionMode listas para usar.

RecyclerView se creó como una mejora de ListView

1) Reutiliza las celdas mientras se desplaza hacia arriba / abajo: esto es posible al implementar View Holder en el adaptador listView, pero era algo opcional, mientras que en RecycleView es la forma predeterminada de escribir el adaptador.

2) Desacopla la lista de su contenedor, para que pueda colocar elementos de la lista fácilmente en tiempo de ejecución en los diferentes contenedores (linearLayout, gridLayout) con la configuración de LayoutManager.

3) Anima acciones de lista común: las animaciones se desacoplan y se delegan en ItemAnimator.

Puedes ver más aquí: RecyclerView vs. ListView