gpt4 book ai didi

ios - Realm 文件大小因保存相同数据而异

转载 作者:行者123 更新时间:2023-11-28 11:04:57 26 4
gpt4 key购买 nike

我正在编写一个存储网站的 iOS 应用程序。每个站点都有不同的地址。为了进行测试,我创建了 32k 个站点和 32k 个地址。当我第一次创建所有这些数据点时, Realm 文件占用了大约 9gb 的数据。为了确定存储此数据所需的空间量,我重新运行了几次测试。

每次我运行这些测试时,文件大小都不同,范围从 25mb 到 10gb。我不确定,问题似乎是什么。有什么建议我可以寻找什么吗?

最佳答案

如果文件大小明显大于您存储的数据量,您可能遇到了称为 version pinning 的问题。 .

版本固定是指 Realm 实例在其他线程写入新数据时停留的时间比预期的要长得多。 Realm 实例保持它正在查看的数据版本,直到它被释放或刷新到最新版本。如果一个线程正在向 Realm 写入数据,而另一个线程在旧版本上打开了 Realm 实例,则新数据无法覆盖旧数据,因此文件大小最终会增加。当 Realm 实例被释放或升级到当前版本时,Realm 文件中旧版本的空间被标记为空闲,并且可以重新用于后续写入。

可能导致版本锁定的一种常见情况是在调度队列上使用 Realm 时,Realm 实例最终出现在调度队列的自动释放池中。调度队列相对较少地耗尽其自动释放池,这可能导致 Realm 实例的生命周期比您预期的要长得多。为避免此类问题,我们建议将所有涉及 Realm 的调度队列工作显式包装在自动释放池中。这将确保及时释放 Realm 实例。

关于ios - Realm 文件大小因保存相同数据而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com