Flutter 应用 "documents and data" iOS 上的磁盘使用率过高

Flutter app "documents and data" disk usage is too high on iOS

我在 Flutter 中为 iOS、Android 和网络编写了一个非常简单的应用程序。

最近,我意识到如果我浏览 iPhone 上的“存储”设置页面,我的产品应用程序(因为它在 App Store 上分发)大约有 500 MB。大部分来自“文档和数据”部分,应用程序本身并不大:

存储页面

这是出乎意料的,因为我唯一特意存储的是一个小型 sqlite 数据库,在我的例子中约为 30 KB。

this guide from the Apple support page 之后,我能够下载我的应用程序的容器,它确实大约有 500 MB。事实证明,大部分权重来自 tmp 文件夹内部,如 du -sh AppData/tmp/*:

的输出所示
  0B    AppData/tmp/count0fSKCX
  0B    AppData/tmp/count1N2yFY
 32K    AppData/tmp/count1tKqnr
  0B    AppData/tmp/count2BxlSk
 24K    AppData/tmp/count2VKOVX
  0B    AppData/tmp/count2tnzwn
[...]
  0B    AppData/tmp/count8kl1hK
 53M    AppData/tmp/count8kqOke
  0B    AppData/tmp/count8ssdC7
[...]
  0B    AppData/tmp/countZHwkA9
 26M    AppData/tmp/countZHx1v8
 53M    AppData/tmp/countZKP9JU
  0B    AppData/tmp/counta5fYmx
[...]

如果我看一下其中一个 50 多 MB 的巨大文件夹中的内容,这就是需要这么多的东西 space:

du -sh AppData/tmp/countZKP9JU/count/*

 26M    AppData/tmp/countZKP9JU/count/main.dart.dill
 20K    AppData/tmp/countZKP9JU/count/main.dart.incremental.dill
 26M    AppData/tmp/countZKP9JU/count/main.dart.swap.dill

我找不到关于这些文件的有用文档,因为我不确定要查找什么:是我的 Dart 配置、Flutter 配置、App 配置中的问题,...?各位大侠能赐教吗?

编辑:这是一些可能有用的版本信息

为了防止有人遇到同样的问题,我最终在启动时编写了自己的清理逻辑,调用 getApplicationDocumentsDirectory().parent.list() 然后删除 tmp 子文件夹(如果存在)。

我不知道这到底是否有必要,因为这个 tmp 文件夹无限增长可能只是因为我一直在我的 phone 上安装开发版本。但无论如何,这个清理步骤可能不会造成伤害。