¿Cómo tratar con Picasso OutOfMemoryError?

Quiero mostrar un ViewPager con ~ 50 páginas, cada una con una imagen diferente. Usando Picasso, las primeras 20-25 páginas funcionan perfectamente. Sin embargo, en ese momento me sale un OutOfMemoryError , y no hay imágenes de carga en absoluto:

 Throwing OutOfMemoryError "Failed to allocate a 7477932 byte allocation with 1932496 free bytes" 

Estoy usando el siguiente código en mi PagerAdapter :

 @Override public Object instantiateItem(final ViewGroup container, final int position) { View view = getView(); Picasso picasso = getImageLoader(mContext); picasso.load(getUrl(position)).fit().into((ImageView) view.findViewById(R.id.imageview)); container.addView(view); return view; } @Override public void destroyItem(final ViewGroup container, final int position, final Object object) { container.removeView((View) object); } 

¿Qué puedo hacer para evitar esto?

He encontrado este problema .

Algunos puntos señalados:

  • Utilice skipMemoryCache()
  • Utilice builder.executor(Executors.newSingleThreadExecutor());
  • Utilice una instancia de Picasso : no cree una nueva instancia utilizando Picasso.Builder cada vez.

Me las arreglé para arreglar mi problema con el último.

Esta pregunta es alta clasificado en Google hits, por lo que estoy añadiendo mi solución a este problema.

La adición de .fit() resolvió el problema para mí. Estoy cargando con éxito imágenes con código inferior.

 picasso.load(PartyUtil.getPartyIconResourceFromFullPartyName(parties.get(position))) .fit() .into(holder.icon); 

Eliminar .fit() hace que mi aplicación lance una OutOfMemoryException .

  • Android Studio Picasso gif loading image para marcador de posición
  • ¿Cómo puedo utilizar un color como imagen de marcador de posición con Picasso?
  • Cómo cargar miniaturas de video usando la biblioteca cuadrada picasso?
  • Picasso detectó un OkHttp no admitido en el classpath
  • Preload de imágenes en la memoria / disco con Android Picasso
  • Cambiar el tamaño de la imagen a todo el ancho y la altura variable con Picasso
  • Picasso Imagen para Android cargando - modelo de hilo
  • Picasso carga imagen con triángulo en la esquina de la imagen
  • Zoom de TouchImageView ajustado a fotograma con Picasso
  • Picasso no puede cargar imagen dentro del método onSuccess de StorageReference
  • Android borrar algunas fotos de caché Picasso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.