In Android 4.1 a, per me, si verifica un errore apparentemente strano nella nostra app. Nell'app, un adattatore personalizzato che estende BaseAdapter è collegato a un widget Galleria. Durante lo scorrimento veloce da sinistra a destra e viceversa ho un FC con il messaggio di eccezione:"Impossibile disegnare bitmap riciclati" durante la visualizzazione di bitmap nella Galleria collegata all'adattatore
java.lang.IllegalArgumentException: bitmap non può disegnare riciclata
Codice in materia di GetView (..) metodo è il seguente:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null){
// View is not recycled. Inflate the layout.
LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.gallery_image, parent, false);
viewHolder = new ViewHolder();
viewHolder.image = (ImageView) convertView.findViewById(R.id.gallery_image);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder)convertView.getTag();
viewHolder.image.setImageDrawable(null);
}
imageLoader.displayImage(images.get(position).getFilename(),
images.get(position).getUrlThumbnail(),
viewHolder.image,
Math.round(BitmapUtil.convertDpToPixel(400f, context)),
Math.round(BitmapUtil.convertDpToPixel(400f, context)));
return convertView;
}
Credo che dovrei null l'ImageView da qualche parte, ma non riesco a farlo funzionare correttamente. ImageLoader è una (abbastanza) semplice classe per caricare le immagini - sia da LruCache, disk/sdcard o recuperarlo in remoto.
potresti mostrare il codice di imageLoader per favore - in pratica, sembra che ci sia qualche riciclo di una bitmap nel tuo codice e stai provando a visualizzare bitmap in seguito (secondo il messaggio di errore), ma senza il codice più difficilmente può essere ha detto. – Ridcully