4

現在のコードは、...の順序で何かを読み取ります。

DoAnything() {
  OpenTheDatabase()
  // ... Do all the things! ...
}

ただし、データベースオブジェクトが閉じられることはありません。これは気になります。

データベースは次のように開かれます。

var db = window.openDatabase( ... paramters ... );

関数が存在しない.closeDatabaseか、ドキュメントが不完全です。私は次のことが十分かもしれないと思いました:

db=null;

私はそれを見てsqlite3_close(sqlite3*)存在int sqlite3_close_v2(sqlite3*)しますが、この場合にそれらをどのように適用するかはわかりません。

データベースを閉じるにはどうすればよいですか?それは必要ですか?

4

1 に答える 1

10

通常、アプリの起動時に開くデータベース接続は1つだけであり、アプリが開いているときにデータベース接続を閉じる必要はありません。これはシングルスレッドのシングルユーザーアプリであるため、データベース接続に関する通常のルールの多くは適用されません。

アプリがシャットダウンしたときは、ブラウザーを使用してすべてを閉じることができます。Web上のコードの平均的な品質を考えると、ブラウザーはクリーンアップにかなり優れている必要があります。

dbをnullに設定し、ガベージコレクターにその処理を実行させることもおそらく機能しますが、そもそも余分なオブジェクトを作成しない方がよいでしょう。

于 2012-11-27T00:29:17.687 に答える