2016-05-23 11 views
0

私はAndroid/JavaプロジェクトでRealm DBを使用したいと思っています.1つのRealmインスタンスを作成してアプリケーションライフタイム用に保持してはならない理由は何ですか?私はDagger2を使用していて、Realmインスタンスを一度作成して渡すことができます。それは悪いことだろうか?レルムDBインスタンスを再利用する必要がありますか?

ここでは、アクティビティのライフタイムのインスタンスを保持する方法について説明しました(ここではhttps://realm.io/docs/java/latest/#controlling-the-lifecycle-of-realm-instances)。しかし、それがアプリケーションに拡張できるかどうか疑問に思っていますか?

問題が発生する可能性があるか、または確認する必要がある「エラー状態」がありますか?

短命のインスタンスよりも長所や短所はありますか?

おかげ

答えて

0

あなたはシングルトンレルムインスタンスを作成して、どこにでもいることを再利用することはできません。理由は、Realmインスタンスがスレッドシングルトンであるためです。私たちのスレッディングモデルの詳細については、https://realm.io/news/threading-deep-dive/

となります。代わりに設定を注入してRealm.getInstance(config)を使用すると、デバッグ用の設定とリリース用の設定ができます。そうでない場合は、Realm.getDefaultInstance()を使用するだけでうまくいくはずです。

+0

スケジューラを使用して常に同じスレッドで実行されていることを確認できれば、それは機能しますか。それともそれだけの価値はないのですか? –

関連する問題