2016-03-07 3 views
0

Я использую Picasso загружать изображения внутри recyclerViewПикассо исключение кэша

При открытии приложения в первый раз он работает, и изображения будут загружены, но теперь каждый раз, когда я открываю приложение нагрузка не в состоянии с долгое исключение в отношении кэша:

=============== НАЧАТЬ PICASSO STATS =============== кэш-память Статистика Max Размер кэша: 9586980 Размер кеша: 0 Кэш-код% Полный: 0 Кэширование: 0 Кэш-промахи: 1 сеть Статистика Скачать Count: 0 Всего загрузки Размер: 0 Среднего Скачать Размер: 0 Растровых Статистики Всего Bitmaps декодированные: 0 Всего Bitmap Размер: 0 Всего трансформированных Bitmaps: 0 Всего Преобразованного Bitmap Размер: 0 Средних Bitmap Size: 0 Средняя Преобразованный Bitmap Размер: 0 =============== END PICASSO СТАТИСТИКА ===============

Дело в том, что я едва начал загружать изображения, поэтому совершенно неразумно, что кеш уже заполнен или дает ex ятие

Это мой код:

Picasso.Listener listener = new Picasso.Listener() { 
@Override 
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { 
    Log.e(Utils.TAG, "Error loading image: " + exception.getMessage()); 
    exception.printStackTrace(); 
} 
}; 
Picasso.Builder builder = new Picasso.Builder(context); 
builder.listener(listener); 
if(!veediChannelArrayList.get(i).isthumbLoaded()) { 

    builder.build().load(veediChannelArrayList.get(i).getRegularThumbnailURL()).into(target); 

}

Target target = new Target() { 
@Override 
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 

    veediChannelArrayList.get(i).setBitMap(bitmap); 
    veediChannelArrayList.get(i).setIsthumbLoaded(true); 
    channelsViewHolder.thumnailIV.setImageBitmap(veediChannelArrayList.get(i).getBitMap()); 
} 

@Override 
public void onBitmapFailed(Drawable errorDrawable) { 

} 

@Override 
public void onPrepareLoad(Drawable placeHolderDrawable) { 

} 

}; 

ответ

0

В функции into(Target target), Picasso проверяет, является ли текущий поток основной поток. См. Код в RequestCreate.java:

public void into(@NonNull Target target) { 
    long started = System.nanoTime(); 
    checkMain(); 

    ... 
} 
Смежные вопросы