私はSQLiteDatabaseインスタンスを作成し、getReadableDatabase()
またはgetWritableDatabase()
を呼び出し、そのようにデータを操作しますが、db.close()
でデータベースを決して閉じることはありません。それを閉じないと悪いですか?私はonStop()
またはonDestroy()
メソッドにdb.close()
を追加しようとしましたが、強制的に強制終了します。Android sqlite接続を開いたまま
2
A
答えて
5
可能な限り遅く接続を開きます。できるだけ早く閉じてください。 "finally"ブロックで閉じて、閉じていることを確認します。
一般に、リソースを取得するのと逆の順序で処理します。
2
0
データベース接続を終了しないと、時間の経過とともにメモリリークが発生します。 startManagingCursorを使用することができますが、これに伴いdb接続を閉じる必要があります。ところで、onStop()またはonDestroy()メソッドでdb接続を閉じる際にどのようなエラーまたは例外が発生しているのかを確認してください。
関連する問題
- 1. Android with Sqlite 3のデータベース接続
- 2. AndroidのSQLite接続チェックのテストケース
- 3. 接続解除するまでtcp接続を開いたままにしておきます。
- 4. phonegapからsqliteデータベースに接続します。androidのhtmlファイル
- 5. AndroidのSQLiteデータベース接続が成功しません
- 6. SQLAlchemy接続、プーリング、SQLite
- 7. Androidアプリ、モバイルデバイスとの接続を開く
- 8. Python mysqlカスタム再接続クラスはサーバー接続を開いていません
- 9. Sqlite Connectionにいくつのデータベースを接続できますか?
- 10. iPhoneとSQLite - データベース接続が失われましたか?
- 11. ボタンクリックで開いたSQliteデータベース接続を他のボタンで閉じることができます。
- 12. 接続が閉じられませんでした。接続の現在の状態が開いています
- 13. SQlite JDBCライブラリを使用してJava/Scalaで排他ロックを持つSqlite接続を開きます
- 14. WALモードでSQLite接続を開く方法
- 15. "接続は既に開いています(状態=開く)"
- 16. MySql接続を開いたままにすることはできますか?
- 17. QSqlDatabaseと.sqliteファイルに接続
- 18. PhonegapのSqliteデータベース接続
- 19. SQLite:リソースファイルへのデータベース接続?
- 20. SQLiteの接続とロック
- 21. リモートsqliteデータベース接続について
- 22. Android SQLiteデータベースをリモートMSSQLデータベースに接続するには
- 23. AndroidのSQLite接続を決して閉じないでください
- 24. Android SQLite INSERTまたはREPLACE
- 25. IMAPをAndroidに接続します。例:
- 26. Android StudioとSVNを接続します
- 27. http接続を開く:android.os.NetworkOnMainThreadException
- 28. 開いているデータベース接続を検出しています
- 29. 新しいサービスを開始した後、Androidサービスの接続がリークしました
- 30. androidでSQLiteデータベースファイルを開く
のOnPause()メソッドで閉じます。ありがとう、主よ! :) – mlvljr
私はロガープログラムを持っています。データベースを頻繁に開いたり閉じたりするのが本当に理にかなっているのでしょうか(たとえば、GPSをロギングする毎秒)。また、(sqlcipher)を使用しているバリアントは、数千回開いたときにクラッシュするように見え、アプリの開始ごとに1回開くだけで回避策になります。 (これはサービス中、btwです) – Michael