2017-11-07 8 views
0

他のファイルのため、私の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インスタンスをリークしておらず、未処理のトランザクションもありません。何が起こっている?

+0

私は、レルムが実行しているメモリマッピングに特定の番号が必要であると仮定します。 – EpicPandaForce

+0

あなたは 'compactOnLaunch'を使っていますか?最悪の場合、現在のファイルサイズと同じ量の空き領域が必要になりますが、圧縮はデータを他のファイルにコピーすることによって行われません。 –

答えて

0

sdcardのストレージサイズを大きくして新しいAVDを作成できます。

+0

私は全体的な解決策を探しています。利用可能なストレージがなくても領域データベースを開くことができます。 –

関連する問題