У меня есть объект realm с ~ 30 полями, после добавления и удаления нескольких объектов кажется, что область занимает довольно много места. Размер выделенного пространства, по-видимому, растет несколько экспоненциально:
10 * (добавить 100 + удалить все) = 4 мб данных
15 * (добавить 100 + удалить все) = 33 мб данных
20 * (добавить 100 + удалить все) = 91 мб Данные
25 * (добавить 100 + удалить все) = 179 мб данных
Сам файл в data\data\app_folder\files\default.realm составляет 200 мб в этот момент.
Теперь эта серьезная проблема может быть вызвана тем, что я не делаю что-то должным образом. Перед каждой установкой я делаю
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();
}
Любые идеи?