0

我的应用程序的数据库不断增长,我想执行 VACUUM 来检索一些丢失的空间。从我读过的内容来看,如果有其他事务,VACUUM 就不会运行。

我的问题是:如何从我的 SQLiteOpenHelper 运行命令?像db.execSQL("VACUUM")工作吗?但是如何在执行此操作时获得某种进展,以便可以使用加载对话框阻止 UI?

4

1 回答 1

3

您可以VACUUM像任何其他 SQL 命令一样运行;execSQL()将工作。

但是,没有跟踪进度的机制。

而且 SQLite 会自动重用空闲页面,因此VACUUM不太可能有帮助。(仅当您删除了大量数据并且知道您不会再次插入新数据时才有用。)

于 2017-07-31T10:47:11.810 回答