昨天去面试,谈到了几个图片加载框架。Fresco;Glide;Picasso
面试官问起了那个框架更好一点,我说Glide吧,并说了几个在之前项目中实际应用的例子,和glide的一些原理。阐述了一下我的观点。
回到家总觉得是没有完全的阐述好我的观点,也是因为我没看过Fresco和Picasso的源码,只留心过glide的原理。因为水平有限,分析三个框架的源码不太现实,我觉得还是要拿出数据来证明(碰巧最近待业在家)。
加载资源:
每一种框架都分别尝试了2种图片
第一张图是501x428、找了一个平时项目中较平均的分辨率吧
http://www.youxiping.com/data/attachment/portal/201509/11/144756yp966fkf07173v4z.jpg
第二张图是1440*2560、整一个大一点的图片加载试试看吧
http://bizhi.cnanzhi.com/upload/bizhi/2014/1202/14175104904742.jpg
1、先说Fresco
配置按照官方的教程,姑且称之为0配置吧:
public class MyApplication extends Application {@Override public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}
<com.facebook.drawee.view.SimpleDraweeView
android:layout_centerInParent="true"
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
/>
imageView.setImageURI("xxxx");
这是加载图片的例子
加载第一张图片时看一下内存的使用率
比较大分辨率的图片
Paste_Image.png2、Glide
glide 的使用相对来说更为简单
Glide
.with(this)
.load("http://www.youxiping.com/data/attachment/portal/201509/11/144756yp966fkf07173v4z.jpg")
.into(imageView);
Paste_Image.png
Paste_Image.png
3、Picasso
就使用上来讲,Picasso和Glide差别很小了
Picasso
.with(this)
.load("http://www.youxiping.com/data/attachment/portal/201509/11/144756yp966fkf07173v4z.jpg")
.into(imageView);
Paste_Image.png
Paste_Image.png
网友评论