Android組件Glide實現圖片平滑滾動效果_Android

來源:互聯網
上載者:User

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組件可以協助你在圖片視頻方面最佳化應用程式。

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.