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