Ale*_* D. 7 java android image-loading android-glide
我使用了diskCacheStrategyAppGlideModule库,库4.1.1的版本.这是我的滑行模块类:
@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;
}
Run Code Online (Sandbox Code Playgroud)
此代码成功运行.但是当我将滑动库的版本更新到4.3.1时
compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
Run Code Online (Sandbox Code Playgroud)
在GlideUtil类中,我看到了消息:"未使用格式的结果","未使用diskCacheStrategy的结果":
那么,如何解决这个问题呢?那些方法format和diskCacheStrategy工作是否适用于format4.3.1?
问题是,您没有使用 builder 对象,该对象由 返回format(),因此您的操作变得毫无意义,这就是 lint 警告您的原因。您可以看到用 注释的方法@CheckResult,这就是 lint 理解的方式,您走错了路,因为您“没有检查该方法返回的结果”。
而是执行以下操作:
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));
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |