1. 程式人生 > >Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android開源元件載入網路圖片的優缺點比較

Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide五大Android開源元件載入網路圖片的優缺點比較

關於 Fresco

Facebook最近推出了一款用於Android應用中展示圖片的強大圖片庫Fresco,它能夠從網路、本地儲存和本地資源中載入圖片。而且,為了節省資料和CPU,它擁有三級快取。

Fresco 是一個強大的圖片載入元件。

Fresco 中設計有一個叫做 image pipeline 的模組。它負責從網路,從本地檔案系統,本地資源載入圖片。為了最大限度節省空間和CPU時間,它含有3級快取設計(2級記憶體,1級檔案)。

Fresco 中設計有一個叫做 Drawees 模組,方便地顯示loading圖,當圖片不再顯示在螢幕上時,及時地釋放記憶體和空間佔用。

Fresco 支援 Android2.3(API level 9) 及其以上系統。

特性

記憶體管理

解壓後的圖片,即Android中的Bitmap,佔用大量的記憶體。大的記憶體佔用勢必引發更加頻繁的GC。在5.0以下,GC將會顯著地引發介面卡頓。

在5.0以下系統,Fresco將圖片放到一個特別的記憶體區域。當然,在圖片不顯示的時候,佔用的記憶體會自動被釋放。這會使得APP更加流暢,減少因圖片記憶體佔用而引發的OOM。

Fresco 在低端機器上表現一樣出色,你再也不用因圖片記憶體佔用而思前想後。

圖片的漸進式呈現

漸進式的JPEG圖片格式已經流行數年了,漸進式圖片格式先呈現大致的圖片輪廓,然後隨著圖片下載的繼續,呈現逐漸清晰的圖片,這對於移動裝置,尤其是慢網路有極大的利好,可帶來更好的使用者體驗。

Android 本身的圖片庫不支援此格式,但是Fresco支援。使用時,和往常一樣,僅僅需要提供一個圖片的URI即可,剩下的事情,Fresco會處理。

Gif圖和WebP格式

是的,支援載入Gif圖,支援WebP格式。

影象的呈現

Fresco 的 Drawees 設計,帶來一些有用的特性:

  • 自定義居中焦點(對人臉等圖片顯示非常有幫助)
  • 圓角圖,當然圓圈也行。
  • 下載失敗之後,點選重現下載
  • 自定義佔點陣圖,自定義overlay, 或者進度條
  • 指定使用者按壓時的overlay

影象的載入

Fresco 的 image pipeline 設計,允許使用者在多方面控制圖片的載入:

  • 為同一個圖片指定不同的遠端路徑,或者使用已經存在本地快取中的圖片
  • 先顯示一個低解析度的圖片,等高清圖下載完之後再顯示高清圖
  • 載入完成回撥通知
  • 對於本地圖,如有EXIF縮圖,在大圖載入完成之前,可先顯示縮圖
  • 縮放或者旋轉圖片
  • 處理已下載的圖片
  • WebP 支援

PS:還有一個glide的框架

相關推薦

Universal-Image-Loaderandroid-VolleyPicassoFrescoGlide五大Android開源元件載入網路圖片優缺點比較

關於 Fresco Facebook最近推出了一款用於Android應用中展示圖片的強大圖片庫Fresco,它能夠從網路、本地儲存和本地資源中載入圖片。而且,為了節省資料和CPU,它擁有三級快取。 Fresco 是一個強大的圖片載入元件。 Fresco 中設計有一個叫做 image pipeline

Android Universal-Image-Loader,VolleyPicassoFrescoGlide五大Android開源元件載入網路圖片優缺點比較

關於 Fresco Facebook最近推出了一款用於Android應用中展示圖片的強大圖片庫Fresco,它能夠從網路、本地儲存和本地資源中載入圖片。而且,為了節省資料和CPU,它擁有三級快取。 Fresco 是一個強大的圖片載入元件。 Fresco 中設計有一個叫做 image pipeline

Android 使用ViewPager結合PhotoView開源元件實現網路圖片線上瀏覽功能

  在實際的開發中,我們市場會遇到這樣的情況:點選某圖片,瀏覽某列表(某列表詳情)中的所有圖片資料,當然,這些圖片是可以放大和縮小的,比如我們看下百度貼吧的瀏覽大圖的效果:  連結   這種功能,在一些app中是必不可少的!那如何實現呢?接下來,我將介紹通過ViewPag

使用 Android-Universal-Image-Loader 圖片載入框架載入圖片

特點 多執行緒下載圖片,圖片可以來源於網路,檔案系統,專案資料夾assets中以及drawable中等 支援隨意的配置ImageLoader,例如執行緒池,圖片下載器,記憶體快取策略,硬碟快取策略,圖片顯示選項以及其他的一些配置 支援圖片

universal-image-loader載入圖片程式異常崩潰圖片不在載入顯示問題

主要是發現universal-image-loader 用來在載入圖片的時候,如果程式異常崩潰了,那麼在自動重啟程式的時候,universal-image-loader會出現在快取讀取圖片的問題,解決方式為 new DisplayImageOptions.Builde

Android 使用圖片異步載入框架Universal Image Loader的問題

loader mar fill splay con iss text blog option 使用的Jar包 問題: optionsm = new DisplayImageOptions.Builder() .displayer(new

開源項目Universal Image Loader for Android 說明文檔 (1) 簡單介紹

bst 成功 開源 ica ctu structure 使用 說明 由於  When developing applications for Android, one often facesthe problem of displa

Android-Universal-Image-Loader三大組件DisplayImageOptionsImageLoaderImageLoaderConfiguration詳解

根據 GridView ESS ted activit close except spa mat Android-Universal-Image-Loader三大組件DisplayImageOptions、ImageLoader、ImageLoaderConfigurati

Android中使用Universal-Image-Loader圖片快取

ImageLoader 是最早開源的 Android 圖片快取庫, 強大的快取機制, 早期被廣泛 Android 應用使用, 至今仍然有很多 Android 開發者在使用。 GitHub地址:

Android 開源框架Universal-Image-Loader完全解析(一)--- 基本介紹及使用

                大家好!差不多兩個來月沒有寫文章了,前段時間也是在忙換工作的事,準備筆試面試什麼的事情,現在新工作找好了,新工作自己也比較滿意,唯一遺憾的就是自己要去一個新的城市,新的環境新的開始,希望自己能儘快的適應新環境,現在在準備交接的事情,自己也有一些時間了,所以就繼續給大家分享And

Universal Image Loader for Android一些方法的引數

DisplayImageOptions options = new DisplayImageOptions.Builder() // 設定圖片在下載期間顯示的圖片 .showImageOnLoading(R.drawable.ic_launcher)/

Android Universal Image Loader學習筆記

2、整個UIL庫分為ImageLoaderEngine,Cache及ImageDownloader,BitmapDisplayer,Bitmapprocessor ~流程:ImageLoader收到載入及顯示的任務,並將它交給ImageLoaderEngi

android Universal-Image-Loader

一、介紹  (一)、概要:         Android-Universal-Image-Loader是一個開源的UI元件程式,該專案的目的是實現可重複使用的非同步影象載入、快取和顯示。所以,如果你的程式裡需要這個功能的話,使用它,因為已經封裝

Android載入圖片 Universal-Image-Loader圖片快取問題

        開發中大部分情況下我們需要快取圖片,用imageLoader兩步實現載入網路圖片後,快取到記憶體以及sd卡.再次讀取該圖片時先從記憶體找,有則直接載入,沒有則從sd卡找,再沒有則讀網路,這樣實現了三級快取. 1.初始化配置,ImageLoader是單例模式,

android--------Universal-Image-Loader圖片載入框架結合LruCache快取圖片

本部落格包含包含Android-Universal-Image-Loader 網路圖片載入框架實現圖片載入和結合universal-image-loader與LruCache來自定義快取圖片,可以設定快取與不快取。 Android-Universal-Image-Load

Android-Universal-Image-Loader三大元件DisplayImageOptionsImageLoaderImageLoaderConfiguration詳解

一、介紹  Android-Universal-Image-Loader是一個開源的UI元件程式,該專案的目的是提供一個可重複使用的儀器為非同步影象載入,快取和顯示。所以,如果你的程式裡需要這個功能的話,那麼不妨試試它。因為已經封裝好了一些類和方法。我們 可以直接拿來用了。而不用重複去寫了。其實,寫

Android 開源框架Universal-Image-Loader完全解析(二)--- 圖片快取策略詳解

本篇文章繼續為大家介紹Universal-Image-Loader這個開源的圖片載入框架,介紹的是圖片快取策略方面的,如果大家對這個開源框架的使用還不瞭解,大家可以看看我之前寫的一篇文章Android 開源框架Universal-Image-Loader完全解析(一)---

Android-Universal-Image-Loader框架的基本使用

首先在官網下載:  https://github.com/nostra13/Android-Universal-Image-Loader  下載它的jar檔案  然後開啟我們的Android Studio新建一個工程Imagetest. 將當前的工程結構android切換到

Android-Universal-Image-Loader 學習筆記(二)載入圖片原理

public void displayImage(String uri, ImageAware imageAware, DisplayImageOptions options, ImageLoadingListener listener, ImageLoadingProgressListener pro

Android-Universal-Image-Loader 學習筆記(一) 基本配置與使用

package com.nostra13.universalimageloader.core; import android.content.Context; import android.content.res.Resources; import android.util.DisplayMetrics;