アクティビティが一時停止しているときにデータベースを閉じるのがベスト プラクティスですか? それとも、アクティビティの状態に関係なく、データベースを開いたままにしても安全ですか?
onPause() でデータベースを閉じてから onResume() で再度開くと、null ポインター例外がスローされ、既に閉じられているカーソルからデータベースを再クエリしようとしていることがわかります。. .
それをonDestroy()閉じるのが最善の方法です。
データベースを閉じることはなくonCreate、カスタムApplicationクラスの実装で開きます。
方法はありますonTerminateが、ドキュメントには実行されないと記載されているため、アプリケーションがいつ終了するかを実際に確認する方法はありません。
never close databaseパターンに問題はありませんでした。
エラーを投稿できますか?私は通常、onPause メソッドでデータベースを閉じ、onResume メソッドで開きます。onDestroy が常に呼び出されるとは限らないことを読んだからです。しかし、あなたの場合、問題は閉じられていないカーソルにあると思います。しかし、logcat とコードを投稿するようにお願いする理由がよくわかりません。