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

congelar

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

Retorna um snapshot congelado deste objeto. A cópia congelada pode ser lida e consultada de qualquer thread sem lançar uma IllegalStateException.

Congelar um RealmModel também cria um Realm congelado que tem seu próprio ciclo de vida, mas se o Realm que gerou a collection original estiver totalmente fechado (ou seja, todas as instâncias em todos os threads estão fechadas), o Realm e o objeto congelados também serão fechados.

Objetos congelados podem ser consultados normalmente, mas tentar alterá-los de qualquer forma ou tentar registrar um ouvinte lançará uma IllegalStateException.

Observação: manter vivo um grande número de objetos congelados com versões diferentes pode ter um impacto negativo no tamanho do arquivo do Realm. Para evitar tal situação, é possível definir io.realm.RealmConfiguration.Builder.maxNumberOfActiveVersions.

Exceções

IllegalStateException - se esse método for chamado de dentro de uma transação de escrita.

Return
uma cópia congelada deste objeto.