Redmi Note 4未显示来自缓存滑动的图像

时间:2018-09-25 11:54:26

标签: android android-glide

我正在使用带有磁盘缓存的Glide 4.1.1加载图像,并且它在Red Mi note 4之外的其他设备上运行良好。RedMi note 4没有显示任何缓存的图像。而我的模拟器和Micromax android则完美地显示了缓存的图像。

 Glide.with(context)
            .load(stringUrl).apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE))
            .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                    viewHolderListener.onLoadCompleted(image, adapterPosition);
                    return false;
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    L.d(loadedData.get(adapterPosition).getImagePath());
                    viewHolderListener.onLoadCompleted(image, adapterPosition);
                    return false;
                }
            })
            .into(image);

1 个答案:

答案 0 :(得分:1)

尝试将滑行库更新为新版本

    dependencies {
  implementation ("com.github.bumptech.glide:glide:4.9.0") {
    exclude group: "com.android.support"
  }

最重要的是您必须在应用程序中包含AppGlide模块

package com.example.myapp;

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

@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}

最后,您可以通过编写以下代码来启用缓存:

GlideApp.with(fragment)
  .load(url)
  .diskCacheStrategy(DiskCacheStrategy.ALL)
  .into(imageView);

引用:GlideV4 documentation