我的应用程序的数据库不断增长,我想执行一个VACUUM来检索一些丢失的空间。据我所知,如果有其他交易,VACUUM不会运行。
我的问题是:如何从我的SQLiteOpenHelper运行命令?就像db.execSQL("VACUUM")
工作一样?但是如何在执行此操作时获得某些进展,以便我可以使用加载对话框来阻止UI?
答案 0 :(得分:1)
您可以像任何其他SQL命令一样运行VACUUM
; execSQL()
可以使用。
但是,没有跟踪进度的机制。
SQLite会自动重用免费页面,因此VACUUM
不太可能有所帮助。 (仅当您删除了大量数据时才有用,并且知道您不会再次插入新数据。)