2017-02-11 3 views
1

Предположим, что я получаю список объектов Realm и получаю все данные из результатов (заставляя данные загружаться в память). Затем, ссылаясь на список объектов, все еще вокруг, я беру один из этих объектов непосредственно своим основным ключом. Правильно ли я предполагаю, что в этом случае объект будет возвращен без необходимости попадания на диск? Что, если у меня больше нет ссылки на этот исходный список результатов? Может быть, это все еще в памяти?В последнее время доступны объекты Realm, хранящиеся в памяти?

Просто любопытно понять, как объекты кэшируются внутри Realm, поэтому я не излишне пытаюсь оптимизировать вещи в своем коде (например, удерживать объекты, которые, я думаю, буду использовать снова в ближайшее время), если это не нужно.

ответ

0

Realm memory - отображает файл и только обращается к нему, когда вы действительно читаете свойства объектов. Это означает, что данные с недавним доступом все еще будут находиться в памяти до тех пор, пока ОС не откажется от нее, чтобы освободить эту ОЗУ для чего-то еще, и нет никакой разницы в отношении дискового ввода-вывода от получения нового объекта из Realm и хранения к существующему объекту.

Смежные вопросы