为什么 FirebaseDatabase Client Offline 有两种方法?

Why Two Methods for FirebaseDatabase Client Offline?

FirebaseDatabase 提供了两种使客户端离线的方法:

DatabaseReference.goOffline()

Manually disconnect the Firebase Database client from the server and disable automatic reconnection. Note: Invoking this method will impact all Firebase Database connections.

FirebaseDatabase.goOffline()

Shuts down our connection to the Firebase Database backend until goOnline() is called.

调用 FirebaseDatabase.getInstance().goOffline() 产生预期结果:

  1. ValueEventListener for ".info/connected" 触发断开连接
  2. OnDisconnect 动作执行
  3. ValueEventListener 用于远程更改的不会触发,用于本地更改的
  4. CompletionListener不开火

调用DatabaseReference.goOffline()似乎没有效果。 None 上面列出的行为发生。它坏了吗?如果不是,它与其他有何不同 goOffline()?

这是 9.x 版本中的一个疏忽。 FirebaseDatabase.getInstance().goOffline() / goOnline() 是正确的使用方法,DatabaseReference.goOffline() / goOnline() 确实有问题,将在未来的版本中删除。抱歉造成混淆!