Con RecyclerView, ¿Picasso sigue siendo necesario?

Pasando de forma iOS recientemente, me di cuenta de que para manejar el desplazamiento rápido de 100s de grandes imágenes,

Es un poco de trabajo y en la práctica es necesario utilizar Picasso (o tal vez Volley).

Ahora que RecyclerView está aquí – ¿ alguien ha implementado el desplazamiento de muchas de las imágenes grandes, usando RecyclerView ?

Si es así, ¿tiene que usar Picasso como en los viejos tiempos (es decir, la semana pasada)

¿Alguna conclusión sobre esto? Aclamaciones

RecyclerView no es más que una versión mejorada, más modular y extensible de la clase AbsListView . Proporciona una API mejor para recopilar vistas y proporciona una forma de crear todo tipo de vistas de lista con las mismas API: vertical, horizontal, cuadrícula, cuadrícula escalonada, etc. La carga de imágenes no es en absoluto parte de esta API.

Por lo tanto, cargar imágenes en él requiere que usted haga exactamente lo mismo que antes. Por ejemplo, usando Picasso:

 @Override public void onBindViewHolder(final MyViewHolder myViewHolder, final int i) { Picasso.withContext(mContext).load(myImageUrl).into(myViewHolder.imageView); } 

De hecho, volviendo a su punto:

RecyclerView es Android mejorando la vista de lista, para que podamos obtener un desplazamiento más suave de grandes listas de imágenes grandes

Dudo mucho que el rendimiento se incrementará si ya implementó el ListAdapter la manera correcta: utilizando clases ViewHolder , y correctamente reutilizar el convertView . El RecyclerView envía estas optimizaciones de forma predeterminada, por lo que ya no es necesario.

Sí, sigue siendo necesario como han comentado los comentarios anteriores, pero esto también ayuda.

 import android.support.v7.widget.RecyclerView; import com.squareup.picasso.Picasso; import com.squareup.picasso.scrolling.PicassoFlingScrollListener; /** * Example Use: * mRecyclerView.setOnScrollListener(new PicassoRecyclerViewScrollListener(mPicasso)); * * @author Simon Lightfoot <[email protected]> * */ public static class PicassoRecyclerViewScrollListener implements RecyclerView.OnScrollListener { private final PicassoFlingScrollListener mListener; private final RecyclerView.OnScrollListener mDelegate; public PicassoRecyclerViewScrollListener(Picasso picasso) { this(picasso, null); } public PicassoRecyclerViewScrollListener(Picasso picasso, RecyclerView.OnScrollListener delegate) { mListener = new PicassoFlingScrollListener(picasso); mDelegate = delegate; } @Override public void onScrollStateChanged(int newState) { mListener.onScrollStateChanged(null, newState); if(mDelegate != null){ mDelegate.onScrollStateChanged(newState); } } @Override public void onScrolled(int dx, int dy) { if(mDelegate != null){ mDelegate.onScrolled(dx, dy); } } } 
  • Población animada de RecyclerView
  • RecyclerView con GridLayoutManager intentando resolver wrap_content
  • Obtener el ancho de CardView en Adapter.onBindViewHolder
  • Datos de SQLite a un RecyclerView
  • Deshabilitar RecyclerView itemAnimator para elementos específicos
  • Firebase android ¿Cómo evitar que FirebaseRecyclerAdapter se actualice automáticamente?
  • Cómo resaltar el elemento seleccionado de Recycler View?
  • ¿Hay una manera de compartir un mismo LayoutManager entre múltiples RecyclerViews anidados
  • Múltiples elementos seleccionados RecyclerView in Activity.java
  • Agregue RecyclerView (RecyclerFragment) a un cuadro de diálogo
  • Botón de acción flotante en una actividad - ¿cómo anclar a una vista de reciclaje en un fragmento?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.