用于数据库的android室SQLiteConnection对象已泄漏

时间:2018-09-28 14:28:16

标签: sqlite kotlin android-room

我正在使用会议室数据库。有时,应用程序会释放并获取异常:

  

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
}

}

这是错误的方式吗?

0 个答案:

没有答案