可以加载图片的还有afinal和xutil的BitmapUtil,已经停止维护了。
四种库:ImageLoader,Picasso,Glide,Fresico
比较
配置:Imgeloader较麻烦
内存:Picasso占用内存很大,造成卡顿;其他ok
大图片:Picasso和Fresico加载大于2M的图片时都不显示
异步:
缓存:1.glide默认使用rgb565节省空间;2.Picasso只缓存全尺寸的,下次直接用,缺点是在加载图片时需要调整尺寸会有些延迟,即便加了noFade()方法;glide会根据imageview的大小不同而下载缓存多次,优点是加载缓存速度快,也可以设置.diskCacheStrategy(DiskCacheStrategy.ALL) 来即缓存全尺寸又缓存其他尺寸,但缓存空间大;
glide优点:
1.google维护;
2.可加载gif,通过配置DrawableTypeRequest的asGif()方法;可将视频url解码为一张图片;
3.集成生命周期,通过Glide.with()方法,可传入activity或fragment,图片加载会和其生命周期保持一致,onStop时停止请求,gif动画也会在此时停止避免后台耗电,onStart 重新开始请求;
4.用法与Picasso很相似,可直接使用;而Fresco方法数有5000多,5.0以下方法数有64k限制;