Android 是否需要关闭使用window.openDatabase打开的数据库?

Android 是否需要关闭使用window.openDatabase打开的数据库?,android,sqlite,cordova,Android,Sqlite,Cordova,目前的代码读取的内容顺序是 DoAnything() { OpenTheDatabase() // ... Do all the things! ... } 但是,数据库对象从未关闭。这令人担忧 数据库按如下方式打开: var db = window.openDatabase( ... paramters ... ); 不存在.closeDatabase功能,或者文档不完整。我认为以下几点就足够了: db=null; 我看到存在sqlite3\u close(sqlite3*)和i

目前的代码读取的内容顺序是

DoAnything() {
  OpenTheDatabase()
  // ... Do all the things! ...
}
但是,数据库对象从未关闭。这令人担忧

数据库按如下方式打开:

var db = window.openDatabase( ... paramters ... );
不存在
.closeDatabase
功能,或者文档不完整。我认为以下几点就足够了:

db=null;
我看到存在
sqlite3\u close(sqlite3*)
int sqlite3\u close\u v2(sqlite3*)
,但我不确定在这种情况下如何应用它们


如何关闭数据库,是否有必要?

通常,在应用程序启动时,您只有一个打开的数据库连接,而在应用程序打开时,无需关闭它。它是一个单线程、单用户的应用程序,所以很多关于数据库连接的常规规则都不适用

当应用程序关闭时,你可以依靠浏览器来关闭一切——考虑到网络上代码的平均质量,浏览器必须非常擅长清理


将db设置为null并让垃圾收集器执行它的操作可能也会起作用,但最好不要首先创建额外的对象。

这很公平。接下来的问题是,由于使用了浏览器页面的比喻,您知道页面之间的db连接是否持续打开吗?或者我们在这里讨论的是页面之间的垃圾收集?不确定特定浏览器的内部结构,但可以肯定的是,当加载下一个页面时,在一个页面上设置的所有内容都应该消失。无论如何,我自己的应用程序都是单页的——如果页面更改清除了应用程序状态,则维护应用程序状态要困难得多。