他のファイルのため、私のAndroidエミュレータの内部ストレージが不足しています。私はアプリの起動でRealm.getInstance(config)
を呼び出すと、次の例外がスローされます。レルムデータベースを開くときに空きがあります
io.realm.exceptions.RealmError: Unrecoverable error. write(): failed: No space left on device in /home/cc/repo/realm/release/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 217
at io.realm.internal.SharedRealm.nativeGetSharedRealm(Native Method)
at io.realm.internal.SharedRealm.<init>(SharedRealm.java:190)
at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:237)
at io.realm.internal.SharedRealm.getInstance(SharedRealm.java:206)
at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:127)
at io.realm.Realm.getInstance(Realm.java:284)
スペースがなくなっ前に、データベースがすでに正常書き込まれているので、私はこれで混乱しています。私は単にデータベースを開いて読みたいだけです。書き込みは必要ありません。実際には、それが存在する場合、すべての条件でデータベースから読み取ることができるようにすることは、アプリの要件です。
明らかに、これはアプリ起動時であるため、私はRealmインスタンスをリークしておらず、未処理のトランザクションもありません。何が起こっている?
私は、レルムが実行しているメモリマッピングに特定の番号が必要であると仮定します。 – EpicPandaForce
あなたは 'compactOnLaunch'を使っていますか?最悪の場合、現在のファイルサイズと同じ量の空き領域が必要になりますが、圧縮はデータを他のファイルにコピーすることによって行われません。 –