Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

暂停或恢复同步会话 — Java SDK

在此页面上

  • 何时暂停同步会话

要暂停当前活动的同步会话,请在 SyncSession 上调用 stop() :

SyncSession session = app.getSync().getSession(config);
session.stop();
val session: SyncSession = app.sync.getSession(config)
session.stop()

要恢复当前暂停的同步会话,请在 SyncSession 上调用 start() :

SyncSession syncSession = app.getSync().getSession(config);
syncSession.start();
val syncSession: SyncSession = app.sync.getSession(config)
syncSession.start()

对于大多数应用程序,无需手动暂停和恢复同步会话。 但是,在某些情况下,您可能希望暂停或暂停同步会话:

  • 您只想在用户执行特定操作后进行同步

  • 您只想在一天中的特定时间进行同步

  • 您不想在网络连接较差时尝试同步

  • 您想要显式强制同步会话连接

在网络连接较差的情况下,不断尝试建立网络连接可能会耗尽用户的设备电池。

显式强制同步会话连接的情况最常见与离线一段时间有关。同步客户端尝试连接,一旦失败,就会Go指数退避状态。长时间离线后,客户端可能无法立即重新连接。 暂停和恢复同步会话会显式强制连接。

当您暂停同步会话时,请记住以下事项:

  • 如果客户端离线时间可能超过客户端最长离线时间,则客户端将无法恢复同步,必须执行客户端重置。

  • 暂停同步会话会使其在两个方向上暂停。您的应用在设备上所做的更改不会与后端同步,对后端或其他设备上的数据更改也不会同步到设备。 无法仅暂停上传或仅暂停下载。

  • 如果您希望客户端永久停止与后端同步,请勿暂停同步会话。 要永久停止同步,请将同步 Realm 的内容复制到非同步 Realm,并在客户端中使用该非同步 Realm。

请勿在不确定的时间段或以月和年为单位的时间范围内通过暂停同步来停止同步。 该功能不是针对这些使用案例而设计或测试的。 以这种方式使用时,您可能会遇到一系列问题。

后退

手动客户端重置数据恢复