にレルムトランザクションを処理するために、私はこのようなパターンを見てきましたか? 「workWithRealmData()」関数が例外をスローした場合、トランザクションはキャンセルされません。しかし、私たちはとにかく試練の最後に、レルムを閉鎖しています。どのようにそこのサンプルコードのいくつかの部分ではAndroidの
より安全な構造は次のようになります。
try (Realm realm = Realm.getDefaultInstance()) {
realm.beginTransaction();
try {
workWithRealmData();
realm.commitTransaction();
} finally {
if (realm.isInTransaction()) {
realm.cancelTransaction();
}
}
}
安全に見えること - だけでなく、すべてのcallsitesをコードするとかなり厄介になります。
本当にこれが沸騰します。レルムがすぐ後で閉じられるかどうかは、cancelTransactionを無視するのが安全ですか?そうでない場合、何がうまくいかないでしょうか?
その直後にレルムを閉じると、 'cancelTransaction'を無視しても安全です。しかし、あなたが1つの場所を欠場するとスレッドをブロックするので、私には少し安全ではないと感じます。 –
偉大な - 確認のために、クリスチャンありがとう! – tmtrademark