Android sqlite3真空,如何在cordova应用程序上使用

Android sqlite3真空,如何在cordova应用程序上使用,android,cordova,sqlite,vacuum,Android,Cordova,Sqlite,Vacuum,我在命令真空中遇到了一个大问题,无法从delete的SQL语句中释放内存 我正在制作一个Cordova Android应用程序,我知道当我使用删除SQL语句时,应用程序的空间不会关闭,。。。空间像碎片硬盘一样持久存在 然后,我看到真空可以压缩我的数据库,但我有一个问题 我使用SQLite3,所有网站都说不能在事务中执行,如下所示: var db = window.sqlitePlugin.openDatabase({name:"maintenance", location:'default'})

我在命令真空中遇到了一个大问题,无法从delete的SQL语句中释放内存

我正在制作一个Cordova Android应用程序,我知道当我使用删除SQL语句时,应用程序的空间不会关闭,。。。空间像碎片硬盘一样持久存在

然后,我看到真空可以压缩我的数据库,但我有一个问题

我使用SQLite3,所有网站都说不能在事务中执行,如下所示:

var db = window.sqlitePlugin.openDatabase({name:"maintenance", location:'default'});
db.transaction(function (tx) {
   tx.executeSql('VACUUM', [], function (tx, results) {
      alert('done');
 }, function (tx, error) {
      alert('error');
      alert(error.message);
   });
});
好的,那么,如果我不能在事务中执行,你能告诉我如何在不写行命令的情况下执行真空或自动真空或类似于压缩BD的东西吗?(请记住,这是一个移动应用)

根据,您应该能够在使用
db的事务之外执行SQL。executeSql

db.executeSql("VACUUM", [], function(rs) {
    // ok
}, function(err) {
    // handle error
});

您好,谢谢您的帮助,我是在交易中使用的。ok块中的信息“真空完成”显示,但没有结果。应用程序的数据大小在真空前后相同。@Armando您要删除多少数据?SQLite以页面大小的倍数分配空间,因此如果您只删除几行,它将无法释放足够的空间来释放页面。没错!我在bbdd表中插入了40000行,安装时我的应用程序数据大小为484KB,40k行为2.18MB。然后用真空将我的数据大小降低到500KB。谢谢你的帮助:)