Android Glide 4.0+使用

Glide 的强大毋庸置疑.
以下是我的使用和我不明白的地方,求大神赐教!!

以下是我的使用: 

Gradle

如果使用 Gradle,可从 Maven Central 或 JCenter 中添加对 Glide 的依赖。同样,你还需要添加 Android 支持库的依赖。

repositories {
  mavenCentral()
  maven { url 'https://maven.google.com' }
}

dependencies {
    compile 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}

注意:如果可能,请尽量在你的依赖中避免使用 @aar 。如果你必须这么做,请添加 transitive=true 以确保所有必要的类都被包含到你的 API 中:

dependencies {
    implementation ("com.github.bumptech.glide:glide:4.6.1@aar") {
        transitive = true
    }
}

基本用法

多数情况下,使用Glide加载图片非常简单,一行代码足矣:

Glide.with(fragment)
    .load(myUrl)
    .into(imageView);

取消加载同样很简单:

Glide.with(fragment).clear(imageView);

尽管及时取消不必要的加载是很好的实践,但这并不是必须的操作。实际上,当 Glide.with() 中传入的 Activity 或 Fragment 实例销毁时,Glide 会自动取消加载并回收资源。

加载圆形图

Glide.with(this)
        .load(R.mipmap.ic_splash_bg)
        .apply(bitmapTransform(new CropCircleTransformation()))
        .into(mImageHead);

模糊过滤

  Glide.with(this)
                .load(R.mipmap.ic_splash_bg)
                .apply(bitmapTransform(new BlurTransformation( 25, 4)))
                .into(mImageView);

在 Application 模块中的使用

在 Application 模块中,可创建一个添加有 @GlideModule 注解,继承自 AppGlideModule 的类。此类可生成出一个流式 API,内联了多种选项,和集成库中自定义的选项:

package com.example.myapp;

import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;

@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}

生成的 API 默认名为 GlideApp ,与 AppGlideModule 的子类包名相同。在 Application 模块中将 Glide.with() 替换为 GlideApp.with(),即可使用该 API 去完成加载工作。

GlideApp.with(fragment)
   .load(myUrl)
   .placeholder(placeholder)
   .fitCenter()
   .into(imageView);

可以访问 Glide 的 generated API 页面来获得更多信息

更多转换请参考官方指南了解使用.

关于什么时候用GlideApp 什么时候用Glide 为什么 其实我也不知道?希望知道的大佬给解释下~ 我目前只停留着会用的阶段!

    原文作者:Android
    原文地址: https://www.jianshu.com/p/4c6f57cc65af
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞