Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在[flatter]中释放一些缓存空间_Flutter_Dart_Caching - Fatal编程技术网

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
。但你的第一句话帮助我换了个角度思考。谢谢。但我怎么知道缓存中是否没有空间?