アクティビティやフラグメントが作成されたときにデータベース(またはネットワーク)にアクセスして初期化する必要のあるフィールドがいくつかあるので、TaskQueueを使用してonCreate()内のワーカースレッドでdbアクセスを行わせるのが自然な方法です。しかし、私はonStart()でそれらを使用する必要がありますが、dbアクセスは非同期であるため、onStart()が呼び出されるとフィールドが初期化されないことがあります。私はこの種のジレンマを解決する最良の方法が何であるか疑問に思っています。フィールドの初期化中にメインスレッドの例外でデータベースアクセスを回避するように設計するにはどうすればよいですか?
onCreateのDBに直接アクセス - メインスレッド例外のDBアクセス onCreate - > onStart()の非同期アクセスDBは、初期化されたフィールドを取得しません。