【Android开发技巧】Android开源项目-Glide的使用教程

Glide是一个Android图片加载库,由Goodle维护

相关文档

官方文档: https://github.com/bumptech/glide

20170104142219390.png

Gradle

repositories {
  mavenCentral() // jcenter() works as well because it pulls from Maven Central
}

dependencies {
  compile 'com.github.bumptech.glide:glide:3.7.0'
  compile 'com.android.support:support-v4:19.1.0'
}

一个极好的Glide教程翻译系列:http://mrfu.me/2016/02/27/Glide_Getting_Started/

为什么选择Glide

当前较为知名的几个图片加载库是Universal-Image_loader、Glide、Fresco、Picasso。
经过比较查询资料,得出以下结论 :

UIL的库2015年年底作者已经停止维护,so,如果是新开始的项目建议不要使用了
Gilde是Picasso的优化版,没有对比就没有伤害。so,Picasson pass。
最后就是Facebook的Fresco,听说极为强大和高效率,但是大小有4M。
最后Glide,google维护。Picasson的优化版,使用简单,也许没有Fresco那么强大,但是觉得完全可以hold住大部分项目。

综上所述,最终决定选择Glide作为项目开发图片加载库。使用的时候再自己封装一层util层,如果之后开发需要替换也较为方便。

如何使用

// 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/gEgYUd").into(imageView);
}

// For a simple image 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 建造者要求最少有三个参数

with(Context context) - 对于很多 Android API 调用,Context 是必须的。Glide 在这里也一样
load(String imageUrl) - 这里你可以指定哪个图片应该被加载,同上它会是一个字符串的形式表示一个网络图片的 URL
into(ImageView targetImageView) 你的图片会显示到对应的 ImageView 中。

混淆处理

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule

除此之外,Glide还可以加载Gif,video。同时含有很多其他功能。详细可以在之前文档中查询。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容