Если вы используете:
setPersistenceEnabled(true);
Это означает, что вы сможете запрашивать базу данных, даже если вы не в сети. Это происходит потому, что Firebase создает локальную копию вашей базы данных, которая будет сохраняться после перезапуска вашего приложения / устройства. Каждое изменение, которое вносится, когда вы не в сети, будет обновляться на серверах Firebase, как только вы вернетесь в сеть. Чтобы быть более понятным, каждый клиент, который использует базу данных Firebase и использует setPersistenceEnabled(true)
, поддерживает свою собственную внутреннюю (локальную) версию базы данных. Когда данные обновляются, они сначала записываются в эту локальную версию базы данных.
Таким образом, благодаря включению постоянства любые данные, которые клиент базы данных Firebase Realtime будет синхронизировать в режиме онлайн, сохраняются на диске и доступны в автономном режиме, даже когда пользователь или операционная система перезапускает приложение. Это означает, что ваше приложение будет работать так же, как и в режиме онлайн, используя локальные данные, хранящиеся в кэше.
Но нет способа остановить получение данных из кеша, пока вы не подключены к серверу, так как вы не можете форсировать извлечение данных из кеша, пока вы подключены к серверу и, к сожалению, это поведение нельзя изменить.