【发布时间】:2014-10-08 10:39:39
【问题描述】:
我有一个具有大约 30 个字段的领域对象,在添加和删除几个对象之后,领域似乎占用了相当多的空间。分配空间的大小似乎呈指数级增长:
10*(添加 100 + 全部删除)= 4 mb 数据
15*(添加 100 + 全部删除)= 33 mb 数据
20*(添加 100 + 全部删除)= 91 mb 数据
25*(添加 100 + 全部删除)= 179 mb 数据
此时 data\data\app_folder\files\default.realm 中的文件本身为 200 mb。
现在这个严重的问题可能是因为我没有正确地做某事。在每次插入之前我都会这样做
Realm realm = Realm.getInstance(context);
realm.beginTransaction();
realm.where(RealmSubmission.class).findAll().clear();
// if i use realm.allObjects(RealmSubmission.class).clear(); the leak is even bigger, i get to 170mb Data with 20*(add 100 + remove all) even though both calls do the same by looking at their semantics.
realm.commitTransaction();
将项目添加到领域如下所示:
for (Submission submission : submissionList){
realm.beginTransaction();
RealmSubmission realmSubmission = realm.createObject(RealmSubmission.class);
RealmObjectUtils.copySubmission(realmSubmission, submission);
realm.commitTransaction();
}
有什么想法吗?
【问题讨论】:
-
这发生在什么版本的 Realm 上?
-
70.1 .. 你可能还想检查主页上的链接,因为它下载了一个名为“latest”的无扩展名文件(我看到你发布了 71.0,但除了主页下载部分 idk从哪里下载)
-
哦,我看到安装 71.0 更简单
-
谢谢。现在应该修复“最新”错误。你能用 0.71.0 复制这个问题吗?
-
244kb 后 10*(100 插入 + 全部清除)7 mb 后 15 33 mb 后 20 91mb 后 25