Android - какой из них использовать Active Android или Realm

Я использую ActiveAndroid некоторое время и недавно узнал о Realm — еще один хороший вариант. Я думал о том, чтобы изменить свое приложение для использования Realm, но прежде чем сделать это, я искал, проводил ли кто-нибудь сравнение производительности между этими двумя. Я нашел некоторое сравнение на веб-сайте области, но это было с ORMLite и SQLite.

Любые предложения приветствуются.


person mudit    schedule 16.05.2015    source источник
comment
Тот же вопрос. Если у вас есть ответ, вы можете сказать это   -  person Anton Shkurenko    schedule 23.07.2015
comment
Вы ищете только сравнение производительности? Или более широкое сравнение (как следует из названия)?   -  person Vicky Chijwani    schedule 12.08.2015
comment
@VickyChijwani: оба   -  person mudit    schedule 12.08.2015


Ответы (6)


Realm нельзя сравнивать напрямую с ActiveAndroid, поскольку Realm — это мобильная база данных с собственным механизмом сохраняемости, созданным для простоты и скорости и заменяющим традиционный SQLite, а ActiveAndroid – это ORM для SQLite. . Таким образом, переход на Realm означает, что вы больше не будете использовать традиционный SQLite.

Да, Realm работает быстро (согласно моему опыту и согласно их эталонным тестам), но разница с традиционным SQLite не заметна, если только ваше приложение не использует транзакции базы данных или интенсивно выполняет поиск, тогда я предлагаю вам использовать Realm. Если нет, то вполне подойдет уже работающий ActiveAndroid.

Хотя я предлагаю при создании нового проекта/приложения попытаться ознакомиться с Realm, чтобы, когда вы столкнетесь с приложением, интенсивно использующим базу данных, вы действительно оценили скорость Realm.

person steven0529    schedule 21.05.2016

Последний раз Active Android обновлялся два года назад, а Realm — это живой проект.

Активный Android — это просто оболочка базы данных SQLite. Realm предлагает больше функций, таких как автоматическое обновление результатов запроса, создание объектов из JSON или уведомления об изменении базы данных.

Я думаю, что производительность не имеет значения, если вы не вставляете миллионы записей, но если это так, вам лучше использовать SQL напрямую.

person Evgeny Sureev    schedule 09.02.2016

Лучше использовать Realm. В моем последнем проекте я использовал его, и он работает намного лучше.

В графическом интерфейсе, если вы хотите отобразить список пользователей, которым меньше 25 лет. Теперь вы получаете из Интернета из рабочего потока, но когда вы автоматически сохраните данные в области, все данные будут обновлены. Нет необходимости запрашивать снова.

Это намного быстрее. И архитектурно прост в использовании.

person javaG    schedule 14.06.2016

Realm — это кроссплатформенное решение, доступное для iOS и Android (что весьма неплохо, если вы ориентируетесь на обе платформы).

person ariful.islam    schedule 24.06.2016
comment
это должен быть комментарий - person ρяσѕρєя K; 25.06.2016

Привет, может быть, слишком поздно ответить, но это поможет другим. Myself Realm - лучший вариант.

Область

Realm – это мобильная база данных, заменяющая SQLite. Хотя это объектно-ориентированная база данных, она имеет некоторые отличия от других баз данных. Realm не использует SQLite в качестве движка. Вместо этого он имеет собственное ядро ​​​​C++ и призван предоставить альтернативу SQLite для мобильных устройств. Realm хранит данные в универсальном табличном формате с помощью ядра C++. Именно это позволяет Realm разрешать доступ к данным на нескольких языках, а также ряд специальных запросов.

Преимущества:

  • быстрее, чем SQLite (ускорение до 10 раз по сравнению с необработанным SQLite для обычных операций)

  • легко использовать

  • преобразование объекта обработано для вас

  • удобно для создания и хранения данных на лету

Я использовал свой проект, его скорость более чем в 10 раз превышает скорость SQlite. Поскольку я добавил 100000 данных (строку) в цикл for, SQlite заняло 18 минут, но Realm заняло всего 20 сек.

person Magesh Pandian    schedule 06.05.2017

Поскольку Realm — это мобильная база данных: замена SQLite и Core Data. Для получения дополнительной информации см. сравнение производительности.

Но вам нужно учитывать еще один важный фактор: https://realm.io в настоящее время поддерживает Android и iOS, в то время как другие Основан на Sqllite, поэтому сгенерированную базу данных можно использовать даже в телефонах с Windows, Tizen и т. д.

Я надеюсь, что это будет полезно для принятия решения.

person Shailendra    schedule 10.09.2015
comment
Я не сравниваю SQLIte и Realm. Я хочу сравнить Active Android и Realm. Также ссылка, которую вы разместили, предназначена для Realm vs core data (поэтому бесполезна). - person mudit; 10.09.2015
comment
@mudit дело в том, что ActiveAndroid - это ORM на основе SQLlite, согласно этому утверждению ActiveAndroid позволяет вам сохранять и извлекать записи базы данных SQLite, даже не записывая ни одного оператора SQL. Это даже вызывает исключение, называемое SQLiteException, в некоторых случаях для получения дополнительной информации, пожалуйста, посмотрите @ руководства. codepath.com/android/ActiveAndroid-Guide#overview. надеюсь теперь прояснится. - person Shailendra; 11.09.2015