配置
本页介绍 ForyConfig 以及推荐的运行时配置。
ForyConfig
Fory 的配置结构如下:
public struct ForyConfig {
public var xlang: Bool
public var trackRef: Bool
public var compatible: Bool
}
默认配置:
let fory = Fory() // xlang=true, trackRef=false, compatible=false
线程模型
Fory 是单线程运行时,会在调用线程上复用一组读写上下文。建议每个线程复用一个实例,不要把同一个实例并发共享给多个线程。
配置项
xlang
控制是否启用跨语言协议模式。
true:使用 xlang 编码格式,默认值false:使用 Swift 原生模式
let fory = Fory(xlang: true)
trackRef
为可跟踪引用的类型启用共享引用和循环引用跟踪。
false:不维护引用表,适合无环或纯值对象图true:保留类对象图中的身份关系
let fory = Fory(xlang: true, trackRef: true)
compatible
启用跨版本的兼容 Schema 模式。
false:Schema 一致模式,更严格,元信息开销更低true:兼容模式,支持字段新增、删除和重排
let fory = Fory(xlang: true, trackRef: false, compatible: true)
推荐配置
本地严格 Schema
let fory = Fory(xlang: false, trackRef: false, compatible: false)
跨语言服务载荷
let fory = Fory(xlang: true, trackRef: false, compatible: true)
需要对象身份的图结构载荷
let fory = Fory(xlang: true, trackRef: true, compatible: true)