Glide使用教程
原文出處:http://mrfu.me/2016/02/27/Glide_Getting_Started/
譯者注:原文Glide — Getting Started
在我們的 Picasso 系列收到很多成功的反饋后,我們要開始延伸另外一個令人驚訝的圖片加載庫系列:Glide。
Glide,就像 Picasso,可以從多個源去加載和顯示圖片,同時也兼顧緩存和在做圖片處理的時候維持一個低內存消耗。它已經在 Google 官方 APP (如 Google 2015開發者大會的應用程序)中使用了,就和 Picasso 一樣受歡迎。在這個系列中,我們要探討 Glide 和 Picasso 的不同和優勢。
Glide 系列預覽
為何使用 Glide?
有經驗的 Android 開發者可以跳過這節,但對于初學者來說,你可能會問自己為什么你想要去用 Glide,而不是自己去實現。
Android 在處理圖片工作的時候顯得有點娘,因為它會以像素形式加載圖片到內存中去,一張照片平均普通的手機攝像頭尺寸是 2592x193 像素(5百萬像素)將大約會分配 19MB 內存。對于復雜的網絡情況,緩存和圖片處理,如果你用了一個測試完善開發完成的庫,如 Glide,你會省下大量的時間,還不會讓你頭疼!
在這個系列,我們將看到 Glide 的很多特性,去看下這篇博客的提綱,并考慮你是否真的要去開發所有這些功能。
添加 Glide
希望我們現在已經說服你去用一個庫去處理你的圖片加載請求了。如果你想要了解更多 Glide 的情況,這就是為你準備的指南!
首先,添加 Glide 到你的依賴中,寫這篇博客的時候,最新的版本是 Glide 是 3.6.1(譯者:現在是3.7.0了)
Gradle
和大多數依賴一樣,在一個 Gradle 項目中在你的?build.gradle?中添加下面這行代碼:
compile 'com.github.bumptech.glide:glide:3.6.1'Maven
Glide 也支持 Maven 項目:
<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>glide</artifactId> <version>3.6.1</version> <type>aar</type> </dependency>第一次:從一個 URL 中加載圖片
就像 Picasso, Glide 庫是使用流接口(fluent interface)。對一個完整的功能請求,Glide 建造者要求最少有三個參數。
- with(Context context)?- 對于很多 Android API 調用,Context?是必須的。Glide 在這里也一樣
- load(String imageUrl)?- 這里你可以指定哪個圖片應該被加載,同上它會是一個字符串的形式表示一個網絡圖片的 URL
- into(ImageView targetImageView)?你的圖片會顯示到對應的 ImageView 中。
理論解釋總是蒼白的,所以,看一下實際的例子吧:
ImageView targetImageView = (ImageView) findViewById(R.id.imageView); String internetUrl = "http://i.imgur.com/DvpvklR.png";Glide.with(context).load(internetUrl).into(targetImageView);就這樣!如果圖片的 URL 存在并且你的?ImageView?是可見的,你會在幾秒后看到圖片。萬一圖片不存在,Glide 會返回一個錯誤的回調(我們會在后面討論這個)。你可能已經相信這三行代碼對你而言是有用的,但是這只是冰山一角啦。
展望
在下一篇文章中,除了從一個網絡 URL 中加載,我們將開始其他選項來加載圖片。具體來說,我們將從 Android 資源,本地文件,和一個 Uri 中加載圖片。
詳談高大上的圖片加載框架Glide -源碼篇 ??http://android.jobbole.com/84798/
詳談高大上的圖片加載框架Glide -應用篇 ?http://android.jobbole.com/84792/
Android Glide源碼分析 ?http://www.cnblogs.com/android-blogs/p/5735655.html
總結
- 上一篇: Android各大热补丁方案分析和比较
- 下一篇: Android WebView开发问题汇