在 Glide 4 中使用 AppGlideModule 中的 RequestOptions
Using RequestOptions in AppGlideModule with Glide 4
我将 `Glide 库与 AppGlideModule 一起使用,库版本为 4.1.1。这是我的滑行模块 class:
@GlideModule
public class GlideUtil extends AppGlideModule {
private final int IMAGE_CACHE_SIZE = 20 * 1024 * 1024; // 20 MB
private final String IMAGE_FOLDER = "/User/Images";
@Override
public void applyOptions(Context context, GlideBuilder builder) {
RequestOptions requestOptions = new RequestOptions();
requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
builder.setDefaultRequestOptions(requestOptions);
InternalCacheDiskCacheFactory factory = new InternalCacheDiskCacheFactory(context, IMAGE_FOLDER, IMAGE_CACHE_SIZE);
builder.setDiskCache(factory);
}
@Override
public boolean isManifestParsingEnabled() {
return false;
}
此代码运行成功。但是当我将 glide 库的版本更新到 4.3.1
compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
在 GlideUtil class 中我看到消息:"The result of format is not used"、"The result of diskCacheStrategyis not used":
那么,如何解决这个问题呢? diskCacheStrategy
和 format
方法是否适用于 Glide 4.3.1?
问题是,您没有使用由 format()
, thus your actions become pointless, that's why lint warns you. You can see 返回的生成器对象,该方法用 @CheckResult
注释,lint 就是这样理解的,您走错了路,因为你是那个方法返回的"not checking the result"。
改为执行以下操作:
RequestOptions requestOptions = new RequestOptions();
requestOptions = requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
requestOptions = requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
现在警告将消失。
或者您可以直接执行以下操作:
builder.setDefaultRequestOptions(new RequestOptions()
.format(DecodeFormat.PREFER_ARGB_8888)
.diskCacheStrategy(DiskCacheStrategy.ALL));
我将 `Glide 库与 AppGlideModule 一起使用,库版本为 4.1.1。这是我的滑行模块 class:
@GlideModule
public class GlideUtil extends AppGlideModule {
private final int IMAGE_CACHE_SIZE = 20 * 1024 * 1024; // 20 MB
private final String IMAGE_FOLDER = "/User/Images";
@Override
public void applyOptions(Context context, GlideBuilder builder) {
RequestOptions requestOptions = new RequestOptions();
requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
builder.setDefaultRequestOptions(requestOptions);
InternalCacheDiskCacheFactory factory = new InternalCacheDiskCacheFactory(context, IMAGE_FOLDER, IMAGE_CACHE_SIZE);
builder.setDiskCache(factory);
}
@Override
public boolean isManifestParsingEnabled() {
return false;
}
此代码运行成功。但是当我将 glide 库的版本更新到 4.3.1
compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
在 GlideUtil class 中我看到消息:"The result of format is not used"、"The result of diskCacheStrategyis not used":
那么,如何解决这个问题呢? diskCacheStrategy
和 format
方法是否适用于 Glide 4.3.1?
问题是,您没有使用由 format()
, thus your actions become pointless, that's why lint warns you. You can see 返回的生成器对象,该方法用 @CheckResult
注释,lint 就是这样理解的,您走错了路,因为你是那个方法返回的"not checking the result"。
改为执行以下操作:
RequestOptions requestOptions = new RequestOptions();
requestOptions = requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
requestOptions = requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
现在警告将消失。
或者您可以直接执行以下操作:
builder.setDefaultRequestOptions(new RequestOptions()
.format(DecodeFormat.PREFER_ARGB_8888)
.diskCacheStrategy(DiskCacheStrategy.ALL));