是否有必要在附加SQLite数据库后将其分离?

时间:2016-09-25 16:26:18

标签: android database sqlite google-drive-api

为了在设备之间同步数据,我在设备上检索备份数据库,然后请求此备份数据库更新我的应用程序当前使用的数据库。

我使用此代码附加备份数据库:

try {
    db.execSQL("attach database ? as " + DATABASE_BACKUP_NAME, new String[]{dbFile.getPath()});
} catch(SQLiteException e) {
    Log.i(TAG, "GoogleDrive: Database already in use, continue...");
}

我已经使用try catch继续备份数据库。

这是一种好方法,还是每次都要再次分离和附加数据库?

为什么分离数据库会有用呢?

注意:这是SQLite文档中的唯一信息:

  

此语句将使用ATTACH语句分离先前附加的其他数据库连接。当不处于共享缓存模式时,可以使用不同的名称多次连接相同的数据库文件,并且将一个连接分离到文件将使其他连接保持不变。

1 个答案:

答案 0 :(得分:1)

我只会在需要时保留备份数据库,然后将其分离。可以这样想:如果你不再需要它,你会保持文件打开吗?将附加的数据库视为资源。在您需要时分配资源,在您不需要时解除分配。