Android组件Glide实现图片平滑滚动效果
程序员文章站
2024-03-05 13:43:00
glide是一款基于android的图片加载和图片缓存组件,它可以最大性能地在android设备上读取、解码、显示图片和视频。glide可以将远程的图片、视频、动画图片等缓...
glide是一款基于android的图片加载和图片缓存组件,它可以最大性能地在android设备上读取、解码、显示图片和视频。glide可以将远程的图片、视频、动画图片等缓存在设备本地,便于提高用户浏览图片的流畅体验。
glide最核心的功能就是提高滚动图片列表的性能,并且glide还能满足对远程图片的读取、改变尺寸以及展示的性能要求。
glide使用方法
最简单的示例代码如下:
// 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上应用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组件可以帮助你在图片视频方面优化应用程序。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。