Glide是一款基於Android的圖片載入和圖片緩衝組件,它可以最大效能地在Android裝置上讀取、解碼、顯示圖片和視頻。Glide可以將遠端圖片、視頻、動畫圖片等緩衝在裝置本地,便於提高使用者瀏覽圖片的流暢體驗。
Glide最核心的功能就是提高滾動圖片列表的效能,並且Glide還能滿足對遠程圖片的讀取、改變尺寸以及展示的效能要求。
Glide使用方法
最簡單的範例程式碼如下:
// For a simple view:@Overridepublic void onCreate(Bundle savedInstanceState) { ... ImageView imageView = (ImageView) findViewById(R.id.my_image_view); Glide.with(this).load("http://goo.gl/h8qOq7").into(imageView);}// For a list:@Overridepublic View getView(int position, View recycled, ViewGroup container) { final ImageView myImageView; if (recycled == null) { myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, container, false); } else { myImageView = (ImageView) recycled; } String url = myUrls.get(position); Glide.with(myFragment) .load(url) .centerCrop() .placeholder(R.drawable.loading_spinner) .crossFade() .into(myImageView); return myImageView;}
在Glide上應用Volley通訊架構
Volley是Glide的可選項,可以支援http/https來讀取圖片。
用Gradle:
dependencies { compile 'com.github.bumptech.glide:volley-integration:1.0.+' compile 'com.mcxiaoke.volley:library:1.0.+'}
或者用Maven:
<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>volley-integration</artifactId> <version>1.0.1</version> <type>jar</type></dependency><dependency> <groupId>com.mcxiaoke.volley</groupId> <artifactId>library</artifactId> <version>1.0.5</version> <type>aar</type></dependency>
然後在Activity或者Application中註冊 Volley的附加元件即可:
public void onCreate() { Glide.get(this).register(GlideUrl.class, InputStream.class, new VolleyUrlLoader.Factory(yourRequestQueue)); ...}
這樣所有的請求就會通過Volley了。
在Glide中應用OKHttp通訊架構
除了Volley,Glide中還可以使用OkHttp通訊架構,OkHttp同樣支援http/https來讀取圖片。
用Gradle:
dependencies { compile 'com.github.bumptech.glide:okhttp-integration:1.0.+' compile 'com.squareup.okhttp:okhttp:2.0.+'}
或者用Maven:
<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>okhttp-integration</artifactId> <version>1.0.1</version> <type>jar</type></dependency><dependency> <groupId>com.squareup.okhttp</groupId> <artifactId>okhttp</artifactId> <version>2.0.0</version> <type>jar</type></dependency>
然後在Activity或者Application中註冊 OkHttp的附加元件即可:
public void onCreate() { Glide.get(this).register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(yourOkHttpClient)); ...}
總結
如果你的Android應用中涉及到遠程圖片的處理,那麼Glide組件可以協助你在圖片視頻方面最佳化應用程式。
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。