iKK*_*iKK 2 objective-c realm ios
领域文件的大小如何发展?
首先:我有一个包含多个属性的realm文件,其中一个是860个条目的数组,每个数组条目又包含几个属性.一个array-property表示条目的名称.
我观察到以下情况:
为什么array-name-property中的额外字母使得realm文件更大?
第二个观察:
在我看来,只要添加了一些内容(一个包含更多字母的属性或添加了一个对象),786 kB的realm文件的大小就会翻倍.为什么realm-file在一个临界值加倍,并且在添加更多内容的情况下不会线性增加?
感谢您对此做出澄清.
这很好观察.:-) Realm文件从大约4k开始,一旦用完可用空间,它的大小将增加一倍.它持续翻倍直到128M,然后不断增加128M.
将文件加倍而不仅仅是线性增长的原因仅在于性能.这是动态数据结构的常用算法,可以保持倍增.
您可以使用下面提供的方法编写压缩副本,删除文件中的所有可用空间.如果您不再添加新数据,想要发送静态数据库或想要通过网络发送文件,这将非常有用.
Realm.writeCopyToURL(_:encryptionKey:) 在斯威夫特-[RLMRealm writeCopyToURL:encryptionKey:error:] 在Objective-C中Realm.writeCopyTo() 在Java中提到的那些阈值和算法是当前的,并且可能在将来的版本中改变.
希望这澄清一下?