v0.91.0以降、refresh()
を含むRealmの廃止されたメソッドはすべて削除されます。Android Realm repalce refresh with waitForChange
私は、レルムのインスタンスは最新のデータを持っていることを確認するには、以下のようなrefresh()
を使用しました。
public static <T> T query(RealmActionWithResult<T> runnable, T defaultValue) {
Realm realm = Realm.getInstance(getConfiguration());
try {
realm.refresh();
return runnable.run(realm);
} catch (Exception e) {
return defaultValue;
} finally {
realm.close();
}
}
私はwaitForChange()
でrefresh()
を交換した場合、次の変更が(非ルーパー糸で、もちろん)が起こるまでは、それがブロックされています。
どのように私はそれがない、現在のスレッドをブロックしますが、現在のレルムが最新の1またはブロック待たなければならないものがある場合であるとき、ちょうどそれを渡すことができますか?
または、RxのSchedulers.io
のような非ルーパースレッドの上記のパターン(毎回閉じる)のようなRealmを使用すると、Realm.getInstance()
はスレッドごとのキャッシュされたインスタンス参照がゼロであるため常に最新のスナップショットを返しますか?
すぐにお返事ありがとう! (同じスレッドで使用される)レルム内にキャッシュされている場合は、常に最新のものですか? –