作業中のSonarレポートには、Androidプロジェクトに関するいくつかの警告があります。
マルチスレッドの正しさ-静的フィールドfindbugsの誤った遅延初期化:LI_LAZY_INIT_STATIC
これらの問題を修正するために、私はダブルチェックロックに関するウィキペディアのエントリに誘導されました
http://en.wikipedia.org/wiki/Double_checked_locking_pattern#Usage_in_Java
Androidフレームワークのコードを見ると、たとえば、ダブルチェックロックが採用されていることがわかりません。WebViewDatabaseクラスは、getInstance(Context)メソッドを同期するだけです。
public static synchronized WebViewDatabase getInstance(Context context) {
if (mInstance == null) {
mInstance = new WebViewDatabase(context);
}
return mInstance;
}
Androidの正しい方法は何ですか?
前もって感謝します