我的应用程序的数据库一直在增长,我想执行一个真空来找回一些丢失的空间。根据我所读到的内容,如果有其他事务,VACUUM就不会运行。
我的问题是:如何从我的SQLiteOpenHelper运行该命令?像db.execSQL("VACUUM")这样的东西是工作的吗?但是我如何在这样做的同时获得一些进展,这样我就可以用一个加载对话框来阻止UI了?
发布于 2017-07-31 18:47:12
您可以像运行任何其他VACUUM命令一样运行SQL;execSQL()将起作用。
然而,没有跟踪进度的机制。
而且SQLite会自动重用免费页面,所以VACUUM不太可能帮上忙。(仅当您删除了大量数据,并且知道不会再插入新数据时,它才有用。)
https://stackoverflow.com/questions/45412224
复制相似问题