Android面试专题Android开发程序员

Fresco、Glide、Picasso的比较

2016-11-25  本文已影响166人  初见破晓

昨天去面试,谈到了几个图片加载框架。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.png

比较大分辨率的图片

Paste_Image.png

2、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

3、最后看下依赖包大小

Paste_Image.png Paste_Image.png Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读