1. 程式人生 > >圖片快取第三方庫

圖片快取第三方庫

引文

目前比較主流的開源第三方庫有這幾個:Fresco、Glide、Android-Universal-Image-Loader(UIL)、picasso、Cube ImageLoader
有點多,先排除掉一兩個,Cube ImageLoader是淘寶使用的庫,github上的文件已經重定向到fresco,直接不看了;picasso效能上也是比Glide、Fresco差,還有更好的選擇的情況下,暫時略過了。重點對比在Fresco、Glide、UIL。

Fresco

優點:

  • 0、能滿足基本要求、可選要求
  • 1、多執行緒圖片載入/下載
  • 2、支援漸進性圖片載入(先低清,後高清)(jpeg/webp)
  • 3、支援webp、支援大GIF圖
  • 4、記憶體優化得最好
  • 5、文件很全

缺點:

  • 1、很重(大/2M+)
  • 2、使用到原生的支援(使用ashmem,優化android5.0以下bitmap物件回收)
  • 3、需要使用/繼承 到它提供的DraweeView(MVC模型,DraweeView;DraweeView 是 Fresco 的“門面”,負責顯示由 DraweeHierarchy 提供的資料(Placeholder、Actual Image、Progress Drawable etc,DraweeController 作為幕後)

Glide

優點:

  • 0、能滿足基本要求
  • 1、比較輕(465K),在效能方面也能媲美Fresco
  • 2、有記憶體快取、磁碟快取策略
  • 3、有生命週期的概念(主要是對請求進行pause,resume,clear),而且其生命週期與Activity/Fragment的生命週期繫結。

缺點:

  • 1、近一年沒怎麼更新了,對一些新特性也沒有支援到(webp等)

Android-Universal-Image-Loader(UIL)

優點:

  • 0、能滿足基本要求
  • 1、多執行緒圖片載入/下載
  • 2、可以自定義配置、多級快取、能監聽到圖片載入/下載進度

缺點:

  • 1、對一些新特性支援不到(jpeg、webp、https)
  • 2、15年11月後停止了維護

分析:

  • 0、UIL已經沒更新了,暫時不考慮了。
  • 1、如果考慮支援https/jpeg/webp等新的特性,用Fresco其實更好。不過缺點也很明顯,就是很重;image view層面也要繼承它提供的一個基類。
  • 2、如果不考慮這些新特性,用Glide會好一點,理由是比較輕,而且效能上也可以和Fresco可以媲美。
3、實際對比

結論:

雖然個人比較推薦使用Fresco。一個是效能是最好的,另一個是,如果要使用webp或jpeg會簡單一點,還有一個是可以逼自己去Handle。但是Fresco太重了,適合很多圖片的應用。

如果是輕量級的話,還是建議用Glide

PS:我是如何封裝的

參考

[1] : 圖片快取

相關推薦

圖片快取第三方

引文 目前比較主流的開源第三方庫有這幾個:Fresco、Glide、Android-Universal-Image-Loader(UIL)、picasso、Cube ImageLoader 有點多,先排除掉一兩個,Cube ImageLoader

Xcode8.1 生成靜態Framework(包含介面、圖片第三方第三方framework)

因為專案需求要求,需要把專案整體打包,這裡就涉及到圖片、介面、第三方的庫。折騰了很久,走過很多坑。特此簡單記錄一下用Xcode8.1 生成靜態Framework的步驟,避免下次再掉坑。 1.建立專案 2、配置framework引數,設定frameWork

C++ 獲取jpg和png的圖片寬和高,不使用第三方

可以的,不需要使用第三方庫,C++原生封裝 #pragma once #include <stdio.h> #include <tchar.h> #include <SDKDDKVer.h> #define MAKEUS(

android 開發中常用的第三方圖片載入篇——Glide)

目錄 目錄 1. 簡介 介紹:Glide,是Android中一個圖片載入開源庫Google的開源專案 主要作用:實現圖片載入 2. 功能特點 2.1 功能列表 功能列表 從上面可以看出,Glide不僅實現了圖片非同步載入的功能,還解決了Android中載入圖片時需要解決的一些常見問題 接下來,我會對

關於Glide——一個高效的圖片載入和快取

最近應用經常出現OOM的問題,於是圖片載入的方式由原來的ImageLoader變成了Glide。我也是跟著導師慢慢的學習瞭解,有不對的地方歡迎指正。 首先,我發現Glide的一個限制性,也就是Glide只能用於ImageView,這是一個不好的地方,但是除了這個基本上都是好

圖片快取使用第三方控制元件

主要介紹一個支援圖片自動預取、支援多種快取演算法、支援二級快取、支援資料儲存和恢復的圖片快取的使用、功能及網友反饋的常見問題解答。 與Android LruCache相比主要特性:(1). 使用簡單  (2). 輕鬆獲取及預取新圖片  (3). 包含二級快取  (4). 可選擇多種快取演算法

iOS:實現圖片的無限輪播---之使用第三方SDCycleScrollView

支援pod匯入 如果發現pod search SDCycleScrollView 搜尋出來的不是最新版本,需要在終端執行cd轉換檔案路徑命令退回到desktop,然後執行pod setup命令更

三大圖片快取對比

一、四大圖片快取庫基本資訊 ImageLoader                                                                Picasso                                       

python 第三方的安裝,pip的使用

能夠 bsp 分享 ima 安裝 alt rip 簡單 cnblogs python是一款簡單易用的編程語言,特別是其第三方庫,能夠方便我們快速進入工作,但其第三方庫的安裝困擾很多人. 現在安裝python時,已經能自動安裝pip了 安裝成功後,我們可以在Script

FreeSWITCH第三方(音頻)的簡單介紹(一)

優勢 帶寬 blog 網絡 ndt 目標 領域 合成 通道 FreeSWITCH使用了大量的第三方庫,本文檔主要介紹音頻相關庫的信息: 視頻相關庫的信息介紹參考:http://www.cnblogs.com/yoyotl/p/5488890.html 其他相關庫的信

【extjs6學習筆記】1.7 初始:加載第三方

sum pro eve owa spec expect mapview cap ply https://www.sencha.com/blog/integrating-ext-js-with-3rd-party-libraries-2/ Introduction

python第三方PIL安裝的各種坑

圖像處理 pil 安裝 mage 說了 pycharm pyc -- 博客 PIL python的圖像處理庫,pycharm安裝屢次失敗,始終報錯 果斷換依舊報錯,查遍所有博客, 有給pip加參數的,pip install PIL --allow-extern

安裝第三方 報錯Python version 2.7 required, which was not found in the registry

try 三方庫 64位 req not 安裝 window 是我 found 我的Windows 系統是64位 這個問題有人說是註冊表沒有 ,手動註冊了一下就好了,但是我註冊的時候運行報錯。 那麽我的做法是: 刪掉本機所有安裝過得python , 1、 先進入控制面板,刪除

UE4讀取腦電波MindWave插件(展示如何使用第三方制作UE4插件)

ue4 remove exec void project 如何使用 protected target dialog MyEEGPlugin.uplugin { "FileVersion": 3, "Version": 1, "VersionNam

引入第三方jquery

lar install .json all img log image var json npm install --save jquery 安裝第三方庫 npm install --save @types/jquery 安裝類型描述文件 在angular-cli.

Linux下安裝Python3.x和第三方

方便 tls libpcap 輸入 zlib cert ase $path pip安裝 如果本機安裝了python2,盡量不要管他,使用python3運行python腳本就好,因為可能有程序依賴目前的python2環境, 比如yum!!!!! 不要動現有的python2環境

[python學習] 簡單爬取圖片站點圖圖片

ctu while 要去 文章 ava ges file cor nal 近期老師讓學習Python與維基百科相關的知識,無聊之中用Python簡單做了個爬取“遊訊網圖庫”中的圖片,由於每次點擊下一張感覺很浪費時間又繁瑣。主要分享的是怎樣爬取HTML

Google圖片加載Glide的簡單封裝GlideUtils

-s size font itl google net sdn span .net Google圖片加載庫Glide的簡單封裝GlideUtils Google圖片加載庫Glide的簡單封裝GlideUtils

安裝第三方出現 Python version 2.7 required, which was not found in the registry

prefix another odin light admin urn utf n! .py 安裝第三方庫出現 Python version 2.7 required, which was not found in the registry 建立一個文件 register.

關於angular導入第三方的問題

第三方庫 pac 前臺 文件 問題 技術分享 三方 ack scrip angular-cli使用webpack來將模塊打包,在這裏配置的scripts和styles會被打包成script.bundle.js和styles.bundle.js文件加載到前臺頁面