我需要知道緩存的URI版本在fresco緩存中的磁盤上需要多長時間?何時從fresco android中的磁盤中刪除圖像緩存?
2
A
回答
2
由於它在http://frescolib.org/docs/caching.html#trimming-the-caches寫:
在配置圖像流水線,您可以設置每個緩存的 的最大尺寸。但有時候你可能想要比 低。例如,您的應用程序可能需要緩存可能需要更多空間並擠出Fresco的其他類型的數據。 或者您可能正在檢查整個設備是否在存儲空間中運行了 。
Fresco的高速緩存實現了DiskTrimmable或MemoryTrimmable 接口。這些是你的應用程序可以告訴他們執行緊急驅逐的鉤子。
然後,您的應用程序可以使用實現DiskTrimmableRegistry和MemoryTrimmableRegistry 接口的對象 配置管道。
這些對象必須保留微調列表。他們必須使用 特定於應用程序的邏輯來確定內存或磁盤空間何時必須保留 。然後他們通知可修飾物體執行其修剪。
所以,如果你不指定DiskTrimmable或MemoryTrimmable而配置您的ImagePipeline將使用默認DiskTrimmable,MemoryTrimmable。因此,在源尋找默認值後,我發現這一點:
private static DiskCacheConfig getDefaultMainDiskCacheConfig(final Context context) {
return DiskCacheConfig.newBuilder()
.setBaseDirectoryPathSupplier(
new Supplier<File>() {
@Override
public File get() {
return context.getApplicationContext().getCacheDir();
}
})
.setBaseDirectoryName("image_cache")
.setMaxCacheSize(40 * ByteConstants.MB)
.setMaxCacheSizeOnLowDiskSpace(10 * ByteConstants.MB)
.setMaxCacheSizeOnVeryLowDiskSpace(2 * ByteConstants.MB)
.build();
}
所以結論是未來:當內存已滿(40 ByteConstants.MB或10 ByteConstants.MB或2 ByteConstants.MB) - 壁畫將刪除舊記錄並寫入新記錄(圖像)。 也許壁畫使用this method。
相關問題
- 1. 清除緩存後圖像不會從磁盤上刪除AFNetworking
- 2. 將圖像緩存到磁盤
- 3. 如何從android應用程序中刪除緩存的圖像
- 4. 從緩存中刪除特定圖像?
- 5. facebook DraweeView - 從緩存中刪除圖像
- 6. 如何在React Native中清除圖片的磁盤緩存
- 7. 在磁盤上緩存位圖Android
- 8. 如何在內存中緩存內存和磁盤緩存中的位圖?
- 9. 映射器任務的結果何時從磁盤中刪除?
- 10. 刪除圖像緩存
- 11. 預加載和緩存圖像,然後從緩存中刪除舊圖像
- 12. 從磁盤中刪除未使用的數據庫中的圖像
- 13. 在磁盤中存儲圖像
- 14. Docker磁盤內存:我可以刪除中間映像嗎?
- 15. 畢加索:從磁盤加載緩存圖像太慢
- 16. AFNetworking 3.0磁盤映像緩存
- 17. 加密磁盤緩存
- 18. android中的圖像緩存
- 19. 如何在php上顯示後從緩存中刪除圖像?
- 20. 畢加索磁盤緩存
- 21. 將下載的圖像緩存到磁盤
- 22. 在虛擬機刪除後從Azure中刪除磁盤
- 23. PHP中磁盤緩存清除/大小限制的模式?
- 24. 緩存磁盤操作
- 25. 瀏覽器緩存或磁盤緩存?
- 26. 緩存AlamofireImage響應磁盤
- 27. 畢加索不緩存磁盤上的圖像
- 28. 磁盤緩存vs重新創建圖像
- 29. 從離子應用程序的緩存中刪除圖像
- 30. 從文件夾中刪除緩存的圖像
你不問這是開發者嗎? –
請參閱[文檔](http://frescolib.org/docs/caching.html#_) –
我無法在文檔中找到任何關於它的提及:( –