Является ли Firedatabase.SetPersistent (true) минимизировать загрузку данных? - PullRequest
0 голосов
/ 16 июня 2019

Использование

  FirebaseDatabase.getInstance().setPersistenceEnabled(true);

Является ли это гарантией загрузки данных только один раз в течение срока службы приложения / перезапуск приложения, даже если у пользователя хорошее соединение?

Примечание: Официальные документы неПока не ясно (по крайней мере для меня).

Включая постоянство, любые данные, которые клиент базы данных Firebase Realtime Database будет синхронизировать, пока в оперативном режиме сохраняется на диске и доступны в автономном режиме, даже когда пользовательили операционная система перезапускает приложение.Это означает, что ваше приложение работает так же, как и в сети, используя локальные данные, хранящиеся в кэше.Обратные вызовы слушателя будут продолжать срабатывать для локальных обновлений.

1 Ответ

2 голосов
/ 16 июня 2019

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

Клиент работает отправляет дерево хэш-значений восстановленного локального состояния на сервер при подключении, которое затем сервер использует для отправки только измененных сегментов обратно.Но нет никакой гарантии, сколько данных он отправляет или сохраняет.

Если вы хотите узнать больше о том, что на самом деле делает Firebase, я настоятельно рекомендую включить ведение журнала отладки и изучить его.вывод на logcat.

Дополнительные сведения по этой теме см. в следующих вопросах по Стратегия синхронизации Firebase .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...