同期処理によるテーブルの初期化では、テーブルの初期化が終わるまでメイン画面が表示されないため、テーブルの初期化に時間がかかるとユーザーを不安にさせます。
非同期処理に変更して、テーブルの初期化中は「データベース初期化中です…」「しばらくお待ちください」というメッセージを表示するようにしてみます。
:appモジュールのPortalApplication.ktを変更します。
: import kotlinx.coroutines.runBlocking import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch : class HiltApplication: Application() { : private fun initializeDatabase() { runBlocking { withContext(Dispatchers.IO) { databaseInitializer.initialize() } } CoroutineScope(SupervisorJob() + Dispatchers.IO).launch { databaseInitializer.initialize() } } }