Glide4 高效加载图片的配置详解

 更新时间:2018年03月23日 09:00:42   作者:康熙微博私访记  
本篇文章主要介绍了Glide4 高效加载图片的配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了Glide4 高效加载图片的配置详解,分享给大家,具体如下:

在build.gradle中添加glide依赖

// glide 依赖
compile 'com.github.bumptech.glide:glide:4.6.1'
// glide 相关注解,生成GlideApp代码
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
// Glide网络库配置成okhttp3
compile ('com.github.bumptech.glide:okhttp3-integration:4.6.1') {
  transitive = false
}

Glide全局配置类

package com.leo.demo;

import android.content.Context;
import android.support.annotation.NonNull;

import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.Registry;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.engine.cache.ExternalCacheDiskCacheFactory;
import com.bumptech.glide.module.AppGlideModule;
import com.bumptech.glide.request.RequestOptions;

/**
 * Created by kangyi on 2018/3/20.
 *
 * Glide全局配置,使用GlideModule注解执行自动代码生成,生成GlideApp,后续的Glide
 * 调用都需要替换为GlideApp.with(context).load(url).into(imageView) 的方式
 *
 */
@GlideModule
public class GlobalGlideConfig extends AppGlideModule {

  @Override
  public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
    super.registerComponents(context, glide, registry);
  }

  @Override
  public boolean isManifestParsingEnabled() {
    return false;
  }

  @Override
  public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
    super.applyOptions(context, builder);

    /**
     * DiskCacheStrategy.NONE: 表示不缓存任何内容。
     * DiskCacheStrategy.DATA: 表示只缓存原始图片。
     * DiskCacheStrategy.RESOURCE: 表示只缓存转换过后的图片。
     * DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
     * DiskCacheStrategy.AUTOMATIC: 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。
     */
    builder.setDefaultRequestOptions(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE));

    /**
     * 优先外部存储作为磁盘缓存目录,防止内部存储文件过大
     * 外部存储目录默认地址为:/sdcard/Android/data/com.sina.weibolite/cache/image_manager_disk_cache
     */
    builder.setDiskCache(new ExternalCacheDiskCacheFactory(context));
  }
}

代码解析

磁盘缓存策略

缓存常量 说明
DiskCacheStrategy.NONE 表示不缓存任何内容。
DiskCacheStrategy.DAT 表示只缓存原始图片。
DiskCacheStrategy.RESOURCE 表示只缓存转换过后的图片。
DiskCacheStrategy.ALL 表示既缓存原始图片,也缓存转换过后的图片。
DiskCacheStrategy.AUTOMATIC 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android实现原生侧滑菜单的超简单方式

    Android实现原生侧滑菜单的超简单方式

    网上关于Android实现侧滑菜单的文章有很多,可是我们这篇文章是给大家分享一种超简单的方式,对大家开发Android具有一定的参考借鉴价值,有需要的朋友们可以一起来看看。
    2016-09-09
  • Android 推送原理(Android Push Notification)详解

    Android 推送原理(Android Push Notification)详解

    这篇文章主要介绍了Android 推送原理(Android Push Notification)详解的相关资料,这里对Android 推送的原理做了简单的介绍,需要的朋友可以参考下
    2016-11-11
  • Android 软键盘出现不适应的解决办法总结

    Android 软键盘出现不适应的解决办法总结

    这篇文章主要介绍了Android 软键盘出现不适应的解决办法总结的相关资料,需要的朋友可以参考下
    2017-03-03
  • Android Studio3.0新特性及安装图文教程

    Android Studio3.0新特性及安装图文教程

    这篇文章主要为大家详细介绍了Android Studio3.0安装配置方法图文教程,以及Android Studio3.0新特性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • android MediaRecorder实现录屏时带录音功能

    android MediaRecorder实现录屏时带录音功能

    这篇文章主要介绍了android MediaRecorder录屏时带录音功能实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Android之高德地图定位SDK集成及地图功能实现

    Android之高德地图定位SDK集成及地图功能实现

    本文主要介绍了Android中高德地图定位SDK集成及地图功能的实现。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Kotlin静态方法的使用浅析

    Kotlin静态方法的使用浅析

    静态方法在其他高级语言(如C++,Java)中也叫类方法。静态方法在调用时无需创建实例,通过类名.方法名的方式调用。在java中调用静态方法的只需在声明前面加关键字static即可。而kotlin中却比较复杂,下面我们来了解一下
    2022-08-08
  • Android学习之文件存储读取

    Android学习之文件存储读取

    本节给大家介绍的是Android数据存储与访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库, 或者ContentProvider中,当然这些后面都会讲,嗯,开始本文内容~
    2016-07-07
  • Android RecyclerView实现下拉刷新和上拉加载更多

    Android RecyclerView实现下拉刷新和上拉加载更多

    这篇文章主要为大家详细介绍了Android RecyclerView实现下拉刷新和上拉加载更多,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android Jetpack组件ViewModel基本用法详解

    Android Jetpack组件ViewModel基本用法详解

    这篇文章主要为大家介绍了Android Jetpack组件ViewModel基本用法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论