Fresco、Glide、Picasso的比較
昨天去面試,談到了幾個圖片載入框架。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");
這是載入圖片的例子
載入第一張圖片時看一下記憶體的使用率
比較大解析度的圖片
2、Glide
glide 的使用相對來說更為簡單
Glide
.with(this)
.load("http://www.youxiping.com/data/attachment/portal/201509/11/144756yp966fkf07173v4z.jpg")
.into(imageView);
3、Picasso
就使用上來講,Picasso和Glide差別很小了
Picasso
.with(this)
.load("http://www.youxiping.com/data/attachment/portal/201509/11/144756yp966fkf07173v4z.jpg")
.into(imageView);
3、最後看下依賴包大小
相關文章
- Google推薦的圖片載入庫Glide於Picasso比較GoIDE
- 專案重構之路——Fresco非侵入式替換GlideIDE
- Python解惑:整數比較 is ==的比較Python
- Integer的比較
- js 深比較和淺比較JS
- Go和Python比較的話,哪個比較好?GoPython
- PHP物件的比較PHP物件
- picasso框架框架
- Python的內建比較函式cmp比較原理剖析Python函式
- 字串比較字串
- Integer比較
- 比較集合
- Oracle date 型別比較和String比較Oracle型別
- 幾種排序的比較排序
- BootStrap, React, Vue的比較bootReactVue
- iOS 版本號的比較iOS
- shell 下的字串比較字串
- Sandcastle同NDoc的比較AST
- Truncate,Delete,Drop的比較.delete
- 不同DBMS的SQL比較SQL
- ejb 和 javabean的比較JavaBean
- 索引的分析和比較索引
- ImageMagic 和 GraphicsMagick 的比較
- 比較重要的例題
- oracle中字串的大小比較,字串與數字的比較和運算Oracle字串
- 比較檔案是否相同,(比較MD5值)
- [C++] 自定義C++比較器比較大小C++
- Go 與 C++ 的對比和比較GoC++
- Java 比較器Java
- PHP比較字串PHP字串
- JAVA字串比較Java字串
- js比較日期JS
- easyExcel & poi 比較Excel
- 常用 NoSQL 比較SQL
- 列舉比較
- 比較無語的系統
- PostgreSQL與MySQL的比較 - hackrMySql
- 前端比較實用的CSS前端CSS