0
我的应用程序的数据库不断增长,我想执行一个VACUUM来检索一些丢失的空间。从我读过的内容来看,如果有其他交易,VACUUM不会运行。VACUUM来自SQLiteOpenHelper的sqlite数据库
我的问题是:如何从我的SQLiteOpenHelper运行命令?是像db.execSQL("VACUUM")
工作?但是,如何在进行此操作时获得某种进度,以便可以通过加载对话框阻止UI?
我的应用程序的数据库不断增长,我想执行一个VACUUM来检索一些丢失的空间。从我读过的内容来看,如果有其他交易,VACUUM不会运行。VACUUM来自SQLiteOpenHelper的sqlite数据库
我的问题是:如何从我的SQLiteOpenHelper运行命令?是像db.execSQL("VACUUM")
工作?但是,如何在进行此操作时获得某种进度,以便可以通过加载对话框阻止UI?
您可以像运行其他SQL命令一样运行VACUUM
; execSQL()
将工作。
但是,没有跟踪进度的机制。
而SQLite自动重用免费页面,所以VACUUM
不太可能有所帮助。 (只有在删除了大量数据并知道不会再插入新数据时才有用。)
谢谢您提供宝贵的信息。 – Alin