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