【问题标题】:Flutter app "documents and data" disk usage is too high on iOSFlutter 应用程序“文档和数据”在 iOS 上的磁盘使用率过高
【发布时间】:2021-12-08 20:26:23
【问题描述】:

我用 Flutter 编写了一个非常简单的应用程序,适用于 iOS、Android 和 web。

最近,我意识到,如果我在 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 的巨大文件夹中的内容,就会发现占用了这么多空间:

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 配置中的问题...?各位大神能指教一下吗?

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

  • Flutter 2.5.1 • 通道稳定 • https://github.com/flutter/flutter.git
  • 框架 • 修订 ffb2ecea52(5 周前) • 2021-09-17 15:26:33 -0400
  • 引擎 • 修订版 b3af521a05
  • 工具• Dart 2.14.2
  • iOS版本:15.0.2

【问题讨论】:

    标签: dart storage flutter-ios


    【解决方案1】:

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

    我不知道这最终是否有必要,因为这个tmp 文件夹无限增长可能只是因为我一直在手机上安装的开发版本。但是这个清理步骤可能不会有任何伤害。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 2018-11-21
      相关资源
      最近更新 更多