この質問は、私が読んだ多くの質問と非常に似ているようですが、やはり、私を満足させるコードは見つかりませんでした。(または、眠すぎてそれに気付かない)
それらの1つだけが存在することを確認するためのシングルトンデータベースヘルパーがあります。問題はここではありません。getReadableDatabase
andメソッドを使用しているときにデータベース接続が 1 つしか存在しないことを確認しようとすると、問題が発生しgetWritableDatabse
ます。
ほとんどの場合、同じ参照が返されることはわかっており、その使用を処理できますが、読み取り専用接続を開いている (おそらくメモリが不足している) 場合にどうすればよいかわかりません。書き込み可能な接続。読み取り専用接続が閉じられるまで書き込みスレッドをブロックしてから、書き込み可能な接続を開こうとします。
どうやってそれをしますか?おそらく、これは Java でスレッドをロックするだけで実行できますが、どのメソッドを使用する必要があるかはわかりません。
PS何かが足りない場合は、別の方法でそれを行う方法を教えてください。