之前一直使用,没有仔细的研究过框架,今天开始想对之前用的框架了解一下,后面打算研究一下源码。今天做了一个简单的了解,对两个框架进行对比。
先说说不同之处:
1.大小,Glide是Picasso的三倍左右
2.GIF图,Glide支持加载GIF图,而Picasso不支持
3.使用场景,Picasso.with(context);Glide.with(Activity/Fragment/Context);
4.使用内存方面,Picasso的默认加载的是完整的图,使用的格式ARGB_8888,这样的一个像素占四个字节,glide的默认加载使用RGB_565,一个像素占用两个字节,内存使用Glide是Picasso的一半。缓存加载的时候,Picasso也会将原图缓存起来,而Glide是将压缩后的图片缓存起来。缓存包括,内存缓存和磁盘缓存。
5.加载图片的时候,Picasso会有点延迟,有个淡入的效果
注:以上观点皆是看了前辈的文章总结出来的,具体细节,还需要待查看源码之后再做结论。
两个框架的相同之处:
在使用上和方法的命名,两个框架都有很多相似之处,具体不一一详述。
最后,总结一下,在选择的时候,两个项目都是值得信赖的,Picasso是square公司开发,另一个Glide是Google推荐的。如果在乎包的大小,可以选择小一点的,如果应用场景比较多,并且项目中对图片的使用比较复杂,可能会使用加载GIF图的话,肯定是要用Glide。