Glide使用原理

基础概念:

  • Model:图片地址(网络url,本地文件,ResId等)
  • Data:InputStream 根据图片地址获取的原始数据。
  • Resource:原始数据解码后获得的格式,如Bitmap、Drawable 等;
  • TransformResource:转换后的数据,转换,剪切,圆角等;
  • TranscodedResource:转码后的数据,例如GIF;
  • Target:显示目标控件,如ImageView。
Glide工作流程.png

简单使用:三步走with load into

  • with(context) 可以使用Activity,Fragment,ApplicationContext等,建议使用Activity或者Fragment,方便与页面生命周期,当Activity(或者Fragment) Destroy时,图片也停止加载,如果是ApplicationContext,则图片加载会与APP生命周期同步;
  • placeHolder( )和error( ) 应该使用ResId或者本地文件。
  • override(width , height)加载时,改变图片大小,节省内存。
  • skipMemoryCache(true)跳过内存缓存,但是并不会影响缓存至内存。只是三级缓存时跳过内存,直接从本地或者网络请求。默认就是false。针对url相同的图片
  • load 指定待加载的图片资源。Glide支持加载多种图片资源:网络图片、本地图片、应用资源、二进制流、Uri对象等。因此load()方法也有很多个方法重载,除了字符串网址之外,还可以以下使用方是式:
// 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);

// 加载应用资源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);

// 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);

// 加载Uri对象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容