java Room数据库迁移冻结屏幕
下面的代码是数据库生成器代码和迁移代码。 当出现大数据和迁移时,屏幕会冻结,并出现一个黑屏,直到数据库建立。 是否有一种方法可以更好地处理此问题,并且更加用户友好(即显示加载对话框)
private fun buildDatabase(context: Context): MainDatabase {
return Room.databaseBuilder(
context.applicationContext,
MainDatabase::class.java,
databaseName
)
.fallbackToDestructiveMigration()
.allowMainThreadQueries()
.openHelperFactory(provideSupportFactory(context.applicationContext))
.addMigrations(X)
.build()
}
val X = object : Migration(2, 3) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("SOME KIND OF SQL STATEMENT")
}
调用数据库的函数是:
fun openDatabase(){ getInstance(requireContext()) }
共 (0) 个答案