我正在为我的应用程序使用 Firebase 实时数据库。这很棒,但我第一次将数据从应用程序写入 Firebase 时遇到了几秒钟的延迟。意味着每次启动应用程序时,都需要 2 秒的时间才能将数据发送到 firebase。之后它就能以极快的速度正常工作。我知道这在任何方面都不是一个大的延迟,但就我而言,我非常需要立即传输和获取数据。有什么办法可以减少这种延迟吗?预先感谢。
首次从代码访问 Firebase 实时数据库时,SDK 必须建立与服务器的连接。这涉及多个步骤,仅在建立第一个连接时才需要。这解释了为什么第一次连接可能需要一些时间,而且实际上花费一秒以上的情况并不罕见。
您无法在代码中执行任何操作来提高实际连接速度。这取决于您的带宽和延迟(我假设您对更改不感兴趣)以及 SDK 和服务器(您无法更改)。
您所能做的就是在应用程序的生命周期中尽早开始连接,而不是等到需要首先读取/写入数据时才开始连接。例如,考虑在应用程序首次启动时向
.info/connected
添加侦听器。
确实, 据我所知,vj Shandilya,您好,初始连接时间应该比预期要长一点,因为我和我的团队正在开发一个与 firebase 和 Android-Java 相关的基于物联网的项目。
也许您可以添加自定义(不强烈)进度动画来掩盖 2 秒。
原因:这是因为Firebase首先需要在您的应用程序和Firebase服务器之间建立连接。总是会延迟几秒。
解决方案: 在应用程序启动时建立连接。加载第一个 Activity 后,在 MainActivity.java 或首先加载的其他 Activity 的
onCreate()
内建立 Firebase 连接。