Realm は、Realm Database 内のデータを整理するために使用される主要データ構造です。 基本的に、Realm はアプリケーションで使用するオブジェクト(Realm オブジェクトと呼ばれる)と、オブジェクトを記述する追加のメタデータのコレクションです。
Realm ファイル
Realm は、Realm 内のすべてのオブジェクトとタイプのバイナリ エンコード バージョンを単一の .realm
ファイルに保存します。 ファイルは、Realm を開くときに定義する特定のパスにあります。
Tip
本番アプリケーションへの圧縮の実装
すべての本番アプリケーションでは、Realm ファイルサイズを定期的に削減するためにshouldCompactOnLaunch
コールバックを実装する必要があります。
移動ファイル
Realm は、次のように Realm ごとに追加のファイルを作成します。
Realm ファイルの拡張子は「realm」。例:
default.realm
: オブジェクト データが含まれています。ロックファイル、"lock" の拡張子を持つファイル。例:
default.realm.lock
: Realm 内のどのバージョンのデータがアクティブに使用されているかを追跡する。 これにより、クライアント アプリケーションによってまだ使用されているストレージ領域が Realm により再利用されるのを防止します。メモ ファイルの拡張子は "note" で、例:
default.realm.note
: スレッド間通知とプロセス間通知を有効にします。管理ファイル、"management" で呼び出されるファイル。例:
default.realm.management
: 内部状態マネジメント。
Realm の 1 つ以上のインスタンスが開いているときに Realm ファイルまたはその予備ファイルのいずれかを削除すると、Realm が破損したり、同期が中断されたりする可能性があります。
Realm のすべてのインスタンスが閉じられたら、これらのファイルを安全に削除できます。 Realm ファイルを削除する前に、Realm 内の同期されていないデータがすべて失われるため、重要なオブジェクトがバックアップされていることを確認してください。
インメモリ Realm
また、Realm を完全にメモリ内で開くこともできます。この場合、 .realm
ファイルやそれに関連する予備ファイルは作成されません。 代わりに、SDK は Realm が開いている間にオブジェクトをメモリに保存し、すべての インスタンスが閉じられるとすぐにそれらを破棄します。