facebook/fresco

fail to load disk-cached webp image after terminating and restart app

Open

#2,534 opened on Aug 26, 2020

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (3,750 forks)batch import
help wanted

Repository metrics

Stars
 (17,072 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Description

fail to load disk-cached webp images after terminating and restart app, while disk-cached png images seem to get well loaded.

and if not restart app, the memory-cache seems to work fine.

Reproduction

here is my config:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        
        // fresco config
        final long maxCacheSize = 1024*1024*1024*4;
        Set<RequestListener> requestListeners = new HashSet<>();
        requestListeners.add(new RequestLoggingListener());
        ImagePipelineConfig config = ImagePipelineConfig.newBuilder(getApplicationContext())
                .setDiskCacheEnabled(true)
                .setMainDiskCacheConfig(DiskCacheConfig.newBuilder(getApplicationContext()).setBaseDirectoryPath(getExternalFilesDir("cached_image")).setMaxCacheSize(maxCacheSize).build())
                .setSmallImageDiskCacheConfig(DiskCacheConfig.newBuilder(getApplicationContext()).setBaseDirectoryPath(getExternalFilesDir("small_image")).setMaxCacheSize(maxCacheSize).build())
                .setRequestListeners(requestListeners)
                .build();
        Fresco.initialize(getApplicationContext(), config);
    }
}

here is my setting-image-uri code:

String high_res_image_uri = ImageUrlTool.getResizedImageUrl(bgInfo.getBgUrl(), 1024, 1024);
String medium_res_image_uri = ImageUrlTool.getResizedImageUrl(bgInfo.getBgUrl(), 512, 512);
DraweeController controller = Fresco.newDraweeControllerBuilder()
        .setLowResImageRequest(ImageRequestBuilder.newBuilderWithSource(Uri.parse(medium_res_image_uri)).build())
        .setImageRequest(ImageRequestBuilder.newBuilderWithSource(Uri.parse(high_res_image_uri)).build())
        .build();
simpleDraweeViewBg.setController(controller);

Additional Information

  • Fresco version: [2.3.0]
  • Platform version: [android 10, huawei p30 pro]

Contributor guide