В Android 4.1 a для меня, похоже, странная ошибка возникает в нашем приложении. В приложении пользовательский адаптер, расширяющий BaseAdapter, присоединяется к виджету "Галерея". При быстрой прокрутке слева направо и наоборот я получаю FC с сообщением об исключении:
java.lang.IllegalArgumentException: Невозможно нарисовать переработанное растровое изображение
Код метода getView (..) выглядит следующим образом:
@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;
}
Я предполагаю, что я должен игнорировать ImageView, но я не могу заставить его работать правильно. ImageLoader - (совершенно) простой класс для загрузки изображений - либо из LruCache, disk/sdcard, либо извлечения его удаленно.