sql >> データベース >  >> RDS >> SQLite

いつカーソルとデータベースを閉じる必要がありますか?

    使用するたびにカーソルを閉じる必要がありますか、それともビューが破棄されるまでカーソルを開いたままにすることができますか?

    依存します。その間にカーソルの結果が変わらない場合(たとえば、リモート接続でDBを変更する場合)、問題ありません。 CursorLoaderを使用することを忘れないでください Androidにカーソルを自動的に管理させる(たとえば、アプリがクラッシュした場合にカーソルを閉じる)。

    データベースについても同じですが、このビューを保持するアクティビティが作成されたら開いて、アクティビティが破棄されたときに閉じることができますか?

    はい、onResume()で開くことができます onPause()で閉じます コールバック、またはデータベースがもう照会されないことがわかっている場合。

    上記のように実行すると、「close()がデータベースで明示的に呼び出されたことはありません...」というエラーが継続的に発生します。

    これは、アプリがクラッシュした場合にのみ正常です。私が上で言ったようにあなたがそれをしているなら、起こらないはずです。



    1. SQL:NOTINとNOTEQUAL TOに関しては、どちらがより効率的で、なぜですか?

    2. 更新されたAzureSQLデータベース層オプション

    3. MySQLクイックヒント:DROPUSERコマンドの使用

    4. HOUR()の例– MySQL