kotlin-extensions / io.realm.kotlin / io.realm.RealmModel / freeze

冻结

fun <T : RealmModel> RealmModel.freeze(): T

返回此对象的冻结快照。 可以从任何线程读取和查询冻结的副本,而不会引发IllegalStateException

冻结 RealmModel 还会创建一个冻结的Realm ,它有自己的生命周期,但如果生成原始集合的活动Realm完全关闭(即 所有线程上的所有实例均已关闭),冻结的Realm和对象也将关闭。

可以像平常一样查询 Frozen 对象,但尝试以任何方式对其进行更改或尝试注册侦听器都会抛出IllegalStateException

注意:让大量不同版本的冻结对象保持活动状态可能会对 Realm 的文件大小产生负面影响。 为了避免这种情况,可以设置io.realm.RealmConfiguration.Builder.maxNumberOfActiveVersions

异常

IllegalStateException - 如果从写事务(write transaction)内部调用此方法。

返回
此对象的冻结副本。