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

在设备之间同步数据 - Java SDK

在此页面上

  • Flexible Sync
  • 同步数据
  • 更新群组以提高性能

Atlas Device Sync自动在客户端应用程序和 Atlas App Services后端之间同步数据。 当客户端设备在线时,Sync 会在设备和后端应用程序之间的背景线程中异步同步数据。

提示

另请参阅:

当您为后端应用程序配置选择“ Flexible Sync ”时,您的客户端实施必须包括对可查询字段的查询的订阅。 Flexible Sync 的工作原理是同步与您在客户端应用程序中维护的查询订阅相匹配的数据。

订阅集包含一组查询。 Realm Flexible Sync 会返回与这些查询匹配的文档,前提是用户具有读取和/或读写这些文档的适当权限。 如果文档与查询匹配,但客户端没有读取或写入文档的权限,则文档不会同步到客户端应用程序。

您可以使用 Realm 查询语言来构造查询。

注意

Flexible Sync 不支持 Realm 查询语言和 SDK 查询引擎中可用的所有查询运算符。有关详细信息,请参阅 Flexible Sync RQL 限制

订阅集基于特定类型的 Realm 对象。如果您有多种类型的 Realm 对象,则可能有多个订阅。

要在客户端应用程序中使用 Flexible Sync,请使用灵活同步配置打开同步域。然后,管理订阅以确定要同步的文档。

在同步 Realm 上读取写入监视变更的语法与非同步 Realm 的语法相同。 当您使用本地数据时,后台线程可以高效地集成、上传和下载变更集。

重要

使用同步时,避免在主线程上写入

事实上,Realm 在后台线程上执行同步集成,这意味着如果您在主线程上写入 Realm,则您的用户界面在等待后台同步线程完成写入事务时,很有可能会挂起。 因此,在使用 Sync 时,最佳实践是永远不要在主线程上进行写入。

订阅集的每个写入事务都会产生性能成本。如果需要在会话期间对 Realm 对象进行多次更新,请考虑将编辑的对象保留在内存中,直到所有更改完成。这通过仅将完整且更新的对象写入 Realm 而不是每次更改来提高同步性能。

后退

创建和管理用户 API 密钥