Android 如果应用程序在没有互联网的情况下崩溃/关闭,Firebase本地数据会发生什么情况?

Android 如果应用程序在没有互联网的情况下崩溃/关闭,Firebase本地数据会发生什么情况?,android,firebase,Android,Firebase,我正在用Java编写一个Android应用程序,并首次使用Firebase实时数据库。用户在没有互联网的情况下输入大量数据的可能性非常高 那么,如果应用程序在连接互联网之前退出/崩溃,数据会发生什么变化 这些数据都丢失了吗?我是否应该将所有这些都写入持久性存储(SharedReferences)?我必须承认,我尝试Firebase的一个主要原因是为了避免自己管理数据,但我不能承担任何损失。您很可能会询问Firebase的一个数据库:云Firestore和实时数据库。虽然它们在如何持久化本地写入方

我正在用Java编写一个Android应用程序,并首次使用Firebase实时数据库。用户在没有互联网的情况下输入大量数据的可能性非常高

那么,如果应用程序在连接互联网之前退出/崩溃,数据会发生什么变化


这些数据都丢失了吗?我是否应该将所有这些都写入持久性存储(SharedReferences)?我必须承认,我尝试Firebase的一个主要原因是为了避免自己管理数据,但我不能承担任何损失。

您很可能会询问Firebase的一个数据库:云Firestore和实时数据库。虽然它们在如何持久化本地写入方面有很大的不同,但它们的行为很常见,可以从基线开始


在应用程序中运行的数据库客户端在其本地缓存中保留一个挂起写入的队列:在本地应用但尚未在服务器上应用的写入

对于Cloud Firestore,此挂起写入队列始终保留在设备的本地磁盘上。因此,当应用程序重新启动时,它将读取队列并再次尝试将它们与服务器同步


对于实时数据库,它(默认情况下)只保存在内存中,因此在崩溃/重新启动时会丢失它。您可以告诉实时数据库将其最近读取的数据和挂起的写入队列存储在磁盘缓存中。在这种情况下,重启时的行为与上述相同:客户端读取挂起的写入队列,并尝试将它们与服务器同步。

Firebase由18种产品组成,它们在这方面都有所不同。你问的是哪一个?只需搜索你正在使用的Firebase工具+“离线访问”即可找到。嘿,007。我试着在下面帮忙。你有机会读到这篇文章吗?它有意义吗?如果我的答案有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见