Intereting Posts
BroadcastReceiver получает несколько идентичных сообщений для одного события Что такое Uri.parse в android Использование языковых настроек для определения того, как использовать имперские единицы Как избежать повторной компоновки общей иерархии представлений при использовании EditText? Файл настроек пользователя vs Файл настроек приложения Как отобразить маршрут между двумя геокоординатами на картах Google? Как загрузить базу данных SQLite с устройства Android? Несколько приложений для Android в зависимости от библиотеки Android с градиентом Активность просочилась в окно – Android Использование службы для запуска фона и создания уведомлений Отображение ошибок DialogFragments ICS Ошибка приложения при назначении нового адаптера для моего ViewPager Как получить текущее местоположение в Android Как eclipse знает название вашего проекта? Объединить layout_weight и maxWidth для просмотров

Являются ли поля чтения объекта Realm медленнее, чем объекты Java?

Я думаю об использовании Realm.io в качестве моего ORM в производственном приложении.

Как я понимаю из документов Документы RealmResults хранятся в BackendStore (диске), а не в ОЗУ, поскольку RealmResult является только прокси-сервером реальных объектов, сохраненных в базе данных.

Итак, мой вопрос заключается в том, что чтение полей RealmObject будет таким же быстрым, как чтение его с обычного объекта Java, учитывая, что объекты Java хранятся в ОЗУ. У меня много показаний в приложении, и я боюсь, что это повлияет на отзывчивость.

Solutions Collecting From Web of "Являются ли поля чтения объекта Realm медленнее, чем объекты Java?"

Это зависит от того, с чем вы сравниваете. RealmResults является результатом запроса, и Realm не копирует объекты – напротив традиционной ORM. Realm будет извлекать объект только при необходимости, пока типичная ORM копирует объекты в память. Копирование объектов из SQLite в простые Java-объекты связано с производительностью ввода-вывода.

Доступ к RealmObject может быть медленнее, чем доступ к RealmObject объекту Java. Но простой Java-объект не является постоянным. Realm предлагает опцию in-memory, которая является более прямым сравнением с обычными объектами Java. Области памяти имеют свойство как объекты Plain: вы теряете данные, когда приложение закрывается.

Поэтому, если вы тратите много времени на копирование объектов из SQLite, чтобы иметь быстрые объекты в памяти, это может оказаться более медленным в целом.