Android組件Glide實(shí)現(xiàn)圖片平滑滾動(dòng)效果
Glide是一款基于Android的圖片加載和圖片緩存組件,它可以最大性能地在Android設(shè)備上讀取、解碼、顯示圖片和視頻。Glide可以將遠(yuǎn)程的圖片、視頻、動(dòng)畫圖片等緩存在設(shè)備本地,便于提高用戶瀏覽圖片的流暢體驗(yàn)。
Glide最核心的功能就是提高滾動(dòng)圖片列表的性能,并且Glide還能滿足對(duì)遠(yuǎn)程圖片的讀取、改變尺寸以及展示的性能要求。
Glide使用方法
最簡(jiǎn)單的示例代碼如下:
// For a simple view: @Override public 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: @Override public 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上應(yīng)用Volley通信框架
Volley是Glide的可選項(xiàng),可以支持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中注冊(cè) Volley的加載項(xiàng)即可:
public void onCreate() { Glide.get(this).register(GlideUrl.class, InputStream.class, new VolleyUrlLoader.Factory(yourRequestQueue)); ... }
這樣所有的請(qǐng)求就會(huì)通過Volley了。
在Glide中應(yīng)用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中注冊(cè) OkHttp的加載項(xiàng)即可:
public void onCreate() { Glide.get(this).register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(yourOkHttpClient)); ... }
總結(jié)
如果你的Android應(yīng)用中涉及到遠(yuǎn)程圖片的處理,那么Glide組件可以幫助你在圖片視頻方面優(yōu)化應(yīng)用程序。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android Canvas之drawBitmap方法案例詳解
這篇文章主要介紹了Android Canvas之drawBitmap方法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08XRecyclerView實(shí)現(xiàn)下拉刷新、滾動(dòng)到底部加載更多等功能
這篇文章主要為大家詳細(xì)介紹了XRecyclerView實(shí)現(xiàn)下拉刷新、滾動(dòng)到底部加載更多等功能,以及添加header功能的RecyclerView,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08AccessibilityService實(shí)現(xiàn)微信發(fā)紅包功能
這篇文章主要為大家詳細(xì)介紹了AccessibilityService實(shí)現(xiàn)微信發(fā)紅包功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12深入理解與運(yùn)行Android Jetpack組件之ViewModel
ViewModel是Android Jetpack組件之一,是一種用于管理UI相關(guān)數(shù)據(jù)的架構(gòu)組件,它能夠幫助開發(fā)者實(shí)現(xiàn)優(yōu)雅的數(shù)據(jù)驅(qū)動(dòng)和生命周期管理,本文將深入淺出地介紹ViewModel的使用和原理,帶你一步步掌握這個(gè)強(qiáng)大的組件2023-08-08調(diào)用startService會(huì)拋出IllegalStateException異常解決
這篇文章主要為大家介紹了調(diào)用startService會(huì)拋出IllegalStateException異常解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Android獲取手機(jī)配置信息具體實(shí)現(xiàn)代碼
下面為大家介紹下使用android獲取手機(jī)配置信息的具體過程,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-06-06Android 自定義圓形帶刻度漸變色的進(jìn)度條樣式實(shí)例代碼
這篇文章主要介紹了Android 自定義圓形帶刻度漸變色的進(jìn)度條的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11Android使用 Retrofit 2.X 上傳多文件和多表單示例
本篇文章主要介紹了Android使用 Retrofit 2.X 上傳多文件和多表單示例,具有一定的參考價(jià)值,有興趣的小伙伴一起來了解一下2017-08-08