Ich füge ein Perference
in meinem PerferenceFragment
.Was ist falsch über löschen Fresco Diskcache und berechnen Größe()
deleteCache.setOnPreferenceClickListener(preference -> {
Fresco.getImagePipeline().clearDiskCaches();
deleteCache.setSummary(String.format(getString(R.string.delete_format), getDiskSize()));
return true;
});
public static final long getDiskSize(){
long bytes = Fresco.getImagePipelineFactory().getMainFileCache().getSize();
return bytes==-1?0:bytes;
}
Ich denke, dass ich das Klicken perference
dass getDiskSize()
sollte 0 zurückgeben, aber ich sollte zweite oder mehrmals klicken dann die summary
zeigen die diskcache 0 B. I ist nicht der Grund, über meine Lösung finden.
mehr Info:
- Fresco 1,1
- get cache size
- Ich benutze
Fresco.getImagePipeline().clearCaches();
es kann nicht slove Problem
ImagePipelineConfig
Set<RequestListener> requestListeners = new HashSet<>();
requestListeners.add(new RequestLoggingListener());
ImagePipelineConfig config = OkHttpImagePipelineConfigFactory
.newBuilder(this, RetrofitHelper.initClient())
.setBitmapsConfig(Bitmap.Config.RGB_565)
.setRequestListeners(requestListeners)
.build();
I Klicken Sie auf die preference
, die getDiskSize()
nicht zum ersten Mal 0 zurückgeben.