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

freeze

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

このオブジェクトの固定スナップショットを返します。 固定されたコピーは、 IllgealStateExceptionをスローすることなく、任意のスレッドから読み取りとクエリが可能になります。

RealmModel を固定すると、独自のライフサイクルを持つ固定 Realm も作成されますが、元のコレクションを生成したライブ Realm が完全に閉じている場合(つまり 全スレッドにわたるすべての インスタンスが閉じられます)。固定された Realm と オブジェクトも閉じられます。

凍結されたオブジェクトは通常どおりクエリできますが、それを何らかの方法で変更しようとしたり、リスナーを登録しようとしたりすると、 IllealStateExceptionがスローされます。

注: 異なるバージョンを持つ多数の固定オブジェクトを有効にすると、Realm のファイルサイズに悪影響が及ぶ可能性があります。 このような状況を回避するには、 io.realm.RealmConfiguration.Builder.maxNumberOfActiveVersionsを設定します。

例外

IllegalStateException - このメソッドが書込みトランザクション内から呼び出される場合。

Return
このオブジェクトの固定されたコピー。