fun <T : RealmModel> RealmModel.freeze(): T
返回此对象的冻结快照。 可以从任何线程读取和查询冻结的副本,而不会引发IllegalStateException 。
冻结 RealmModel 还会创建一个冻结的Realm ,它有自己的生命周期,但如果生成原始集合的活动Realm完全关闭(即 所有线程上的所有实例均已关闭),冻结的Realm和对象也将关闭。
可以像平常一样查询 Frozen 对象,但尝试以任何方式对其进行更改或尝试注册侦听器都会抛出IllegalStateException 。
注意:让大量不同版本的冻结对象保持活动状态可能会对 Realm 的文件大小产生负面影响。 为了避免这种情况,可以设置io.realm.RealmConfiguration.Builder.maxNumberOfActiveVersions 。
IllegalStateException
- 如果从写事务(write transaction)内部调用此方法。
返回
此对象的冻结副本。