Flutter cache manager library
我正在使用此库https://pub.dartlang.org/packages/flutter_cache_manager#-readme-tab-
我有两个问题。
首先,我不清楚getFile(url)函数是否自动缓存返回的文件,或者返回后是否必须调用putFile()。
第二,我看到您可以重写BaseCacheManager来设置maxAgeCacheObject。操作系统是否会自动删除已过期的文件,或者我必须确保已清除它们。
感谢您的帮助:)
ad 1)getFile(url)方法将"自动"缓存结果。 putFile()方法仅可用于预先缓存数据。
ad 2)两者都应确保您有一个合理的上限。但是由于文件存储在允许操作系统删除的临时目录中,所以如果设备存储空间不足,这些文件将被删除。 --- FWIW-否,操作系统不会删除太旧的文件,但是缓存管理器将删除早于maxAgeCacheObject的对象。 (操作系统不知道文件有多旧,它可能会首先开始删除最旧的文件,但是对此不做任何保证。)
- 谢谢你的回答,赫伯特。您能告诉我高速缓存管理器何时删除年龄超过maxAgeCacheObject的文件。例如,当首次初始化单例时,它会执行此操作吗?
-
@ ebg11现在很好,它在每次访问时都这样做github.com/renefloor/flutter_cache_manager/blob/master/lib/s??rc / ... ..(缓存管理器为(基本上)每次缓存访问创建一个新的sqlite连接-github.com/renefloor/flutter_cache_manager/blob/master/lib/s??rc/…哪个imo很奇怪,特别是因为从不关闭移动stackoverflow.com/a/44578432/109219的sqlite是一种最佳的做法不知何故有点话题:)
-
感谢你的帮助 :)