我正在尝试在我的应用程序中实现Data Saver模式。如果用户将其打开,则应用程序应仅加载已存储在缓存中的那些图像。
Picasso.with(context)
.load(url)
.networkPolicy(NetworkPolicy.OFFLINE)
.into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Log.i(TAG, "onBitmapLoaded for item #" + position);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
Log.i(TAG, "onBitmapFailed for item #" + position);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
Log.i(TAG, "onPrepareLoad for item #" + position);
}
});
大多数时候,它完美无缺。 问题是在某些情况下,只有onPrepareLoad被调用,之后才会调用onBitmapLoaded和onBitmapFailed。
ImageViews我试图填充Picasso加载的图像是RecyclerView的项目。每当我滚动然后返回时,每当RecyclerView再次加载项目时,它都会毫无问题地加载图像。
以前是否有人经历过这种行为?
编辑:
05-17 15:44:07.433 13570-13570/org.meightsoft.dailyfun.debug I/RecentsAdapter: onBindViewHolder for item #7
05-17 15:44:07.434 13570-13570/org.meightsoft.dailyfun.debug I/RecentsAdapter: onPrepareLoad for item #7