Сегодня мы используем Firebase C ++ SDK, и мне нравится улучшать способ загрузки данных из Firebase в классы приложений Entity, сегодня мы зациклились на DatabaseSnapshot и заполнили классы Entity для использования в Android APP, но я думаю, что это дает наммедленный процесс и слишком большое перемещение данных из Firebase в наше приложение.
Используемый сегодня алгоритм:
- установить значение "loadData" в / command / category
- прослушать изменение значения на «завершено» в / command / Categories
- Когда все закончится, данные поступят в / category
- Затем мы зациклим / снимок категорий и создадим сущности из этих значений
Я думаю, что этот алгоритм может быть улучшен с точки зрения потребления памяти, но чтобы быть уверенным, мне нужно знать, как Firebase C ++ SDK выделяет память.
Мои рекомендации заключаются в том, что DatabaseReference быстрее читается и обновляетсязначения, чем DatabaseSnapshot, насколько я понимаю DatabaseSnapshot является копией данных, а DatabaseReference является ссылкой на эти данные,затем, если я изменю свои классы Entity на использование DatabaseReference напрямую, а не просто получаю из Snapshot и устанавливаю на Entity, я могу улучшить потребление памяти моим приложением, тогда мне нравится менять сущность моего приложения на DatabaseReference, и каждый раз, когда я использую set / get I,вместо этого используйте DatabaseReference для установки / получения в классе локальных переменных.
Кто-нибудь знает о лучших способах сделать это?
TIA Clóvis