Android 图片平滑滚动组件 Glide

移动开发 Android
Glide是一款基于Android的图片加载和图片缓存组件,它可以最大性能地在Android设备上读取、解码、显示图片和视频。Glide可以将远程的图片、视频、动画图片等缓存在设备本地,便于提高用户浏览图片的流畅体验。如果你的Android应用中涉及到远程图片的处理,那么Glide组件可以帮助你在图片视频方面优化应用程序。

Glide是一款基于Android的图片加载和图片缓存组件,它可以***性能地在Android设备上读取、解码、显示图片和视频。Glide可以将远程的图片、视频、动画图片等缓存在设备本地,便于提高用户浏览图片的流畅体验。

Glide最核心的功能就是提高滚动图片列表的性能,并且Glide还能满足对远程图片的读取、改变尺寸以及展示的性能要求。

Glide使用方法

最简单的示例代码如下:

  1. // For a simple view: 
  2. @Override 
  3. public void onCreate(Bundle savedInstanceState) { 
  4.     ... 
  5.  
  6.     ImageView imageView = (ImageView) findViewById(R.id.my_image_view); 
  7.  
  8.     Glide.with(this).load("http://goo.gl/h8qOq7").into(imageView); 
  9.  
  10. // For a list: 
  11. @Override 
  12. public View getView(int position, View recycled, ViewGroup container) { 
  13.     final ImageView myImageView; 
  14.     if (recycled == null) { 
  15.         myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, 
  16.                 container, false); 
  17.     } else { 
  18.         myImageView = (ImageView) recycled; 
  19.     } 
  20.  
  21.     String url = myUrls.get(position); 
  22.  
  23.     Glide.with(myFragment) 
  24.         .load(url) 
  25.         .centerCrop() 
  26.         .placeholder(R.drawable.loading_spinner) 
  27.         .crossFade() 
  28.         .into(myImageView); 
  29.  
  30.     return myImageView; 

在Glide上应用Volley通信框架

Volley是Glide的可选项,可以支持http/https来读取图片。

用Gradle:

  1. dependencies { 
  2.     compile 'com.github.bumptech.glide:volley-integration:1.0.+' 
  3.     compile 'com.mcxiaoke.volley:library:1.0.+' 

或者用Maven:

  1. <dependency>  
  2.     <groupId>com.github.bumptech.glide</groupId>  
  3.     <artifactId>volley-integration</artifactId>  
  4.     <version>1.0.1</version>  
  5.     <type>jar</type>  
  6. </dependency>  
  7. <dependency>  
  8.     <groupId>com.mcxiaoke.volley</groupId>  
  9.     <artifactId>library</artifactId>  
  10.     <version>1.0.5</version>  
  11.     <type>aar</type>  
  12. </dependency>  

然后在Activity或者Application中注册 Volley的加载项即可:

  1. public void onCreate() { 
  2.   Glide.get(this).register(GlideUrl.class, InputStream.class
  3.         new VolleyUrlLoader.Factory(yourRequestQueue)); 
  4.   ... 

这样所有的请求就会通过Volley了。

在Glide中应用OkHttp通信框架

除了Volley,Glide中还可以使用OkHttp通信框架,OkHttp同样支持http/https来读取图片。

用Gradle:

  1. dependencies { 
  2.     compile 'com.github.bumptech.glide:okhttp-integration:1.0.+' 
  3.     compile 'com.squareup.okhttp:okhttp:2.0.+' 

或者用Maven:

  1. <dependency> 
  2.     <groupId>com.github.bumptech.glide</groupId> 
  3.     <artifactId>okhttp-integration</artifactId> 
  4.     <version>1.0.1</version> 
  5.     <type>jar</type> 
  6. </dependency> 
  7. <dependency> 
  8.     <groupId>com.squareup.okhttp</groupId> 
  9.     <artifactId>okhttp</artifactId> 
  10.     <version>2.0.0</version> 
  11.     <type>jar</type> 
  12. </dependency> 
  13.  
  14. 然后在Activity或者Application中注册 OkHttp的加载项即可: 
  15.  
  16. public void onCreate() { 
  17.   Glide.get(this).register(GlideUrl.class, InputStream.class
  18.         new OkHttpUrlLoader.Factory(yourOkHttpClient)); 
  19.   ... 

总结

如果你的Android应用中涉及到远程图片的处理,那么Glide组件可以帮助你在图片视频方面优化应用程序。

软件首页

软件文档

软件下载

本文链接:http://www.codeceo.com/article/android-glide.html

本文作者: 小峰

责任编辑:闫佳明 来源: codeceo
相关推荐

2013-07-10 10:21:22

Android Lis

2013-04-02 13:04:07

ListView平滑滚

2015-12-15 15:31:08

Chrome平滑滚动浏览器

2023-03-03 00:08:36

微软机器人聊天

2021-08-31 14:56:51

鸿蒙HarmonyOS应用

2011-03-14 13:10:43

jQueryscroll滚动

2021-09-29 10:15:00

鸿蒙HarmonyOS应用

2011-09-02 10:03:40

jQuery滚动图片

2012-06-21 13:08:37

jQuery

2011-07-22 13:30:52

JavaScript

2023-02-17 08:22:05

AndroidGlide

2009-06-10 21:48:03

滚动图片Javascript特

2017-01-11 19:00:05

Android嵌套滚动移动开发

2021-04-29 14:32:24

鸿蒙HarmonyOS应用

2015-01-20 17:15:55

iOS源码滚动视图

2011-09-02 09:49:29

JQuery图片滚动

2021-09-02 07:00:01

Glide流程Android

2021-09-01 06:48:16

AndroidGlide缓存

2021-03-19 17:42:01

鸿蒙HarmonyOS应用开发

2022-10-26 15:54:46

canvas组件鸿蒙
点赞
收藏

51CTO技术栈公众号