レルムのJavaドキュメントにクローズ/無効のインスタンスを扱うが、レルムが開かれたようActivity
/ライフサイクルにレルムインスタンスを関連付けることをお勧めします/ Activity
/Fragment
が作成されたときに/破壊閉じました。レルムのライフサイクル - アンドロイド
Activity
のユーザー対話が、最終的にActivity
に関連付けられたレルムインスタンスで読み取り/書き込みを発行する一連の連鎖非同期/コールバックベースコードをトリガーするとします。
ユーザーはすぐに相互作用した後、活動を終了し、レルムインスタンスが閉じられたインスタンス上のトランザクション/クエリが、それは、ネストされたコールバックのことを考えると黙って失敗していることを確認するための良い方法であるもの、Activity's
onDestroy
の一環として閉鎖された場合鎖。
レルムインスタンスをクローズ/有効にしてからメソッドを呼び出す前にチェックするのは面倒です。
同時に、レルムインスタンスを開いて、何かを書いたり読んだりするだけで閉じると、コストがかかるかもしれません。
これらのようなクラッシュを避けるにはどうすればよいでしょうか?
'連鎖非同期/コールバックベースコード'は、独自のRealmインスタンス参照を取得できるバックラウンドサービスによって処理されます。 'これは、最終的に、そのアクティビティに関連付けられているレルムインスタンスの読み取り/書き込みを実行します。 'レルムに登録されているレルムオブザーバは、レルムのデータ変更に反応します。アクティビティが有効な場合、UIに変更が表示されます。死んだら誰も気にしない。 –
すべてのレルムアクセスがバックグラウンドサービスに委任されるわけではありません。 – letronje
なぜそれを考えるのか説明しなければならないでしょう。なぜあなたのケースではうまくいかないのですか?すべてのスレッドから同じ基礎データにアクセスします。 –