我正在使用会议室数据库。有时,应用程序会释放并获取异常:
09-28 18:09:23.540 21493-21509 / com.test.app W / SQLiteConnectionPool:A 数据库的SQLiteConnection对象 '/data/data/com.test.app/databases/my.db'被泄露!请修正您的 申请以正确结束正在进行的交易并关闭 不再需要的数据库。 数据库'/data/data/com.test.app/databases/my.db'的SQLiteConnection对象泄漏了!请修正您的 申请以正确结束正在进行的交易并关闭 不再需要的数据库。
我以这种方式获取实例,在每一点上我都需要使用db:
mDB = AppDatabase.getInstance(context ?: return)
这是我处理实例的方法:
companion object {
private var INSTANCE: AppDatabase? = null
fun getInstance(context: Context): AppDatabase? {
synchronized(AppDatabase::class) {
INSTANCE = Room.databaseBuilder(context.applicationContext, AppDatabase::class.java, "ttc.db").build()
}
return INSTANCE
}
}
这是错误的方式吗?