1

アクティビティが一時停止しているときにデータベースを閉じるのがベスト プラクティスですか? それとも、アクティビティの状態に関係なく、データベースを開いたままにしても安全ですか?

onPause() でデータベースを閉じてから onResume() で再度開くと、null ポインター例外がスローされ、既に閉じられているカーソルからデータベースを再クエリしようとしていることがわかります。. .

4

3 に答える 3

3

それをonDestroy()閉じるのが最善の方法です。

于 2012-03-06T15:49:32.490 に答える
0

データベースを閉じることはなくonCreate、カスタムApplicationクラスの実装で開きます。

方法はありますonTerminateが、ドキュメントには実行されないと記載されているため、アプリケーションがいつ終了するかを実際に確認する方法はありません。

never close databaseパターンに問題はありませんでした。

于 2012-03-06T15:54:26.680 に答える
0

エラーを投稿できますか?私は通常、onPause メソッドでデータベースを閉じ、onResume メソッドで開きます。onDestroy が常に呼び出されるとは限らないことを読んだからです。しかし、あなたの場合、問題は閉じられていないカーソルにあると思います。しかし、logcat とコードを投稿するようにお願いする理由がよくわかりません。

于 2012-03-06T15:58:26.177 に答える