Кэшировать объекты Realm вместо выполнения большого количества запросов
Вот класс, который я буду использовать и много раз буду запрашивать в цикле.
public class ManufacturerEntity extends RealmObject {
private ManufacturerEntity parent;
}
Я загружаю из постраничного веб-сервиса (WS), чтобы получить информацию обо всех известных производителях, у меня более 5 тыс., А максимальное количество элементов WS на страницу равно 100, поэтому я сделаю 50 вызовов на этот WS.
Для каждого вызова я буду повторять каждый из 100 производителей, чтобы отобразить их как объекты Realm. Вопрос в том, чтобы получить наилучшие результаты, нужно ли кэшировать все ManufacturerEntity
Я получаю запрос Realm, чтобы избежать повторного запроса позже, когда столкнусь с этим производителем?
Вот пример:
List<Manufacturer> backendManufacturers = call();
for (Manufacturer manufacturer : backendManufacturers) {
UUID parentId = manufacturer.getParent().getId();
//Realm query every time
//or call a method that'll cache the
//ManufacturerEntity with id = parentId ?
ManufacturerEntity parentEntity = ??;
ManufacturerEntity manufacturerEntity = map(manufacturer, parentEntity);
//save manufacturerEntity (and cache it) ?
}
Я знаю, что Realm действительно быстрый (поэтому я перешел на него), но быстрее ли он? HashMap
(или как)?