我的View(LinearView)上有一个drawable on the background的背景。如何在onSaveInstanceState中保存Drawable以提高显示速度?实际上图片是从互联网下载的,当它被下载时,它被设置为查看背景。如果onResume()中的background!= null,我不应该再次从Internet加载它。
我试过Picasso,但我需要将图片加载到View中,而不是ImageView,所以我使用了这样的东西:
final ImageView img = new ImageView(view.getContext());
Picasso.with(img.getContext())
.load(mImagesUrls[index])
.into(img, new com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
view.setBackground(img.getDrawable());
}
@Override
public void onError() {
}
});
它会下载图像,但它似乎并没有缓存它,每次加载大约需要4秒......
我也尝试使用MyClass实现Picasso.Target,但它并没有调用onBitmapLoaded()方法。哪里可能有问题?
提前谢谢大家的答案!
答案 0 :(得分:0)
在.into
添加.networkPolicy(NetworkPolicy.OFFLINE)
之前
像这样:
.load(mImagesUrls[index])
.networkPolicy(NetworkPolicy.OFFLINE)
.into(img, new com.squareup.picasso.Callback() {