Flutter 如何在[flatter]中释放一些缓存空间
嗯,我用它来缓存我的文件 现在我有一个要求,比如如果我的应用程序的缓存内存已满,我必须清除缓存中的一些空间 有没有什么可能的办法 提前谢谢Flutter 如何在[flatter]中释放一些缓存空间,flutter,dart,caching,Flutter,Dart,Caching,嗯,我用它来缓存我的文件 现在我有一个要求,比如如果我的应用程序的缓存内存已满,我必须清除缓存中的一些空间 有没有什么可能的办法 提前谢谢 注意:我可以使用wait DefaultCacheManager().emptyCache()清除缓存并清除缓存中的所有文件。我不想清除所有的文件。我需要释放一些空间。似乎您只能从缓存中删除一个或所有文件,您可以只删除最旧的缓存文件来释放空间 这是根据所选参数自动完成的 缓存管理器使用两个变量来确定何时删除文件,即maxNrOfCacheObjects和st
注意:我可以使用
wait DefaultCacheManager().emptyCache()清除缓存代码>并清除缓存中的所有文件。我不想清除所有的文件。我需要释放一些空间。似乎您只能从缓存中删除一个或所有文件,您可以只删除最旧的缓存文件来释放空间
这是根据所选参数自动完成的
缓存管理器使用两个变量来确定何时删除文件,即maxNrOfCacheObjects和stalePeriod。缓存知道文件的最新使用时间。在清理缓存时(这种情况持续发生),当文件过多时(按上次使用顺序排列),以及文件未被使用的时间超过过期时间时,缓存会删除文件
如果要在缓存满之前删除缓存,则必须参考旧缓存并手动删除。为什么需要手动删除?在缓存管理器中,您可以设置文件限制或stalePeriod,这将自动处理它。或者,如果您的缓存内存已满,操作系统将清理缓存。我的情况非常危急,例如对于某项操作,我只需要在缓存中存储256kb的数据,那么如果缓存已满,我的操作将继续失败。如果256kb是您最重要的数据,请在设置或分配该重要数据之前调用emptyCache。是,我的256KB和缓存数据都很重要,所以我不能简单地调用emptyCache
。但你的第一句话帮助我换了个角度思考。谢谢。但我怎么知道缓存中是否没有空间?