利用Glide Module实现仿QQ头像及缓存


起因

最近在做IM相关的项目,需要模仿QQ头像的显示。 参考使用过模仿QQ讨论组头像,也参考过高仿微信群头像,因公司设计的要求,使用的是模仿QQ头像的组件。

但是使用上却有图片闪动的情况,因为在列表滑动时,动态拼接图片造成图片显示延迟与闪烁,并不流畅。最后决定要修改这个问题。

开始

目前项目用的图片加载框架是Glide,他可以注入很多模块,我就去找资料,果然找到关于Module修改的资料,加载网络图片但没URL?不要紧,通过ModelLoader,让Glide直接加载任何奇葩数据源,恩,没错,我就是要用Glide Module加载我的奇葩数据,多个List

过程

原理解析我就不再多写了,查看上面的提供的文章吧,注入Module,接收List的参数,并实现inputstream的下载,然后继续由Glide进行inputstream的缓存,管理,在这里,我就将下载好的图片进行拼接。

结果

项目地址:https://github.com/jiechic/glide-integration

如何使用

很简单。

repositories {
    maven {
        url "https://dl.bintray.com/jiechic/maven"
    }
}
dependencies {
    compile 'com.jiechic.library.glide:qqgroupicon-integration:0.1'
}

接下来,用Glide 加载List即可,简单方便。高效缓存

List<String> list = new ArrayList<>();
list.add("http://list.image.baidu.com/t/image_category/galleryimg/womenstar/hk/shu_qi.jpg");
list.add("http://list.image.baidu.com/t/image_category/galleryimg/womenstar/hk/jia_jing_wen.jpg");
list.add("http://list.image.baidu.com/t/image_category/galleryimg/womenstar/hk/xu_ruo_xuan.jpg");
list.add("http://list.image.baidu.com/t/image_category/galleryimg/womenstar/hk/guo_shu_yao.jpg");
list.add("http://list.image.baidu.com/t/image_category/galleryimg/womenstar/hk/li_jia_xin.jpg");
Glide.with(this).load(list).into(imageView);

声明:Jiechic's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 利用Glide Module实现仿QQ头像及缓存


Just Jiechic's Blog