【发布时间】:2021-10-20 23:31:16
【问题描述】:
我正在尝试创建单人房间数据库。我找到了 2 个解决方案,但我不知道它们之间有什么区别。
companion object {
@Volatile private var INSTANCE:AppDatabase? = null
fun getInstance(context: Context):AppDatabase {
synchronized(this){
var instance = INSTANCE
if (instance == null){
instance = Room.databaseBuilder(context.applicationContext,AppDatabase::class.java,"user_table")
.fallbackToDestructiveMigration()
.build()
INSTANCE = instance
}
return instance
}
}
还有这个根据Singleton class in Kotlin
companion object {
fun getInstance(context: Context):AppDatabase{
return Room.databaseBuilder(context.applicationContext,AppDatabase::class.java,"user_table")
.fallbackToDestructiveMigration()
.build()
}
}
我尝试了这些,它们都给了我相同的实例。它们之间有什么区别吗?在性能或其他方面
【问题讨论】:
标签: android kotlin singleton android-room