Picasso图片加载网络图片到ViewGroup的背景

时间:2021-08-09 20:42:28

Picasso图片加载框架可以直接加载网络图片到ImageView中,也可以返回Bitmap然后再对其进行处理。

如果是后者,可以选择使用Picasso的Target来实现,但在实际测试中发现,加载图片时,Target是先回调onPrepareLoad( ) ,再调用onBitmapLoaded( )(在这个方法中可以拿到Picasso加载的Bitmap并进行处理),这时就可以加载正确的图片了。但在有些时候,只会调用onPrepareLoad( ) ,这是因为Picasso只对Target持有一个弱引用的对象,这时候推荐使用添加标签的形式来解决弱引用问题:

final View View = ... // The view Picasso is loading an image into
final Target target = new Target{...};
View.setTag(target);

当然偶尔还会回调onBitmapFailed( )方法,如果设置了加载出错时有显示某些默认图片的操作,这时就会展示出错时的图片。