onDestroy()またはonStop()関数で閉じるべきですか?アンドロイドの活動ライフサイクルでデータベースをどこで閉じるべきですか?
答えて
私は個人的にデータベースを開いたままにしておくとすぐにデータベースを閉じることを好むのですが、それは良いアイデアだとは思わないFileStream
を開いたままにしてください。あなたの使用に応じて、あなたのデータベース上でclose();
をできるだけ早く呼び出す必要があります。あなたに元の質問について
UPDATE
は、onDestroy()
イベントにデータベースを閉じるためにOKです。
最新のonPause()
方法でデータベースを閉じることをお勧めします。その後、OSがリソースを必要とする場合には予告なしにプロセスを強制終了し、データベースに損傷を与える可能性があります。間違いなくこれをonStop()
またはonDestroy()
に延期しないでください。 the docsから:
onPause()
は、プロセスが殺さ-場合することができます前に、システムは、その後onStop()
とonDestroy()
が呼び出されていない可能性があり、緊急時にメモリを回復しなければならないと呼ばれることが保証の最後の方法です。
別の方法として、すべてのデータベースアクセスをサービスまたはContentProviderに移動することができます。これらのアクセスは、OSとの相互作用のための独自のライフサイクルとルールを持ちます。
明示的にSQLiteデータベースを閉じることはありません。
私は常にSQLiteOpenHelper
を拡張するクラスを使用し、必要な処理を行い、データベース自体を永続的に参照することは決してありません。 SQLiteOpenHelper
が有効範囲外になると、データベース参照がクリーンアップされます。
YMMVしかし、あなたのアプリをどのようにデザインするかは、私がAndroid用のプログラミングを始める前から、SQLiteデータベースをWindowsプラットフォームで長年働いてきたことがあります。
この接続が不要になったらすぐにデータベース接続を終了し、その接続をクローズするにはclose()を呼び出す必要があります。
- 1. どのようにすべての活動を終了し、アンドロイドでアプリケーションを閉じるには?
- 2. PHPでデータベース接続をいつ閉じるべきですか?
- 3. Androidでどのように活動を閉じることができますか?
- 4. 親の活動から子アクティビティを閉じることを
- 5. どのように私はspecefic活動を閉じて、前の活動になるのですか?
- 6. フォームが閉じるべきでないときに閉じる
- 7. 閉じるどこでも
- 8. アンドロイドの活動ライフサイクルが登録されていません。
- 9. ContentProviderでデータベースを閉じる
- 10. どのように私はアンドロイドの活動でSqliteデータベースを使用できますか?
- 11. なぜこのgetWindow()を使用するのですか?すべてのパネルをアンドロイドで閉じますか?
- 12. このアクティビティを閉じるには? (アンドロイド)
- 13. サーブレットの出力ストリームを閉じるべきですか?
- 14. doWork()の "connection"引数を閉じるべきですか?
- 15. アンドロイド活動は向きが
- 16. 目に見えない活動を閉じるためにAndroidを避けることは可能ですか?
- 17. カーソルとデータベースが閉じないアンドロイド
- 18. アンドロイド:環境設定画面に対するユーザの要求に応じて、私の活動で活動
- 19. DatabaseHelperをいつ閉じるべきですか?
- 20. アンドロイド:windowSoftInputMode = "adjustResize" 私はすでに活動
- 21. 誰でもこのプログラムをVBScriptで閉じることができますか?
- 22. アンドロイド:活動
- 23. ビュー/活動アンドロイド
- 24. アンドロイド:活動
- 25. アンドロイド:活動
- 26. アンドロイド手動で開かれたSlidingDrawerを閉じるにはどうすればいいですか?
- 27. アンドロイド - 私の活動
- 28. アンドロイド活動のダウンロードファイル
- 29. どのようにしてアンドロイドの連絡活動をプログラム的に開くことができますか?
- 30. はここで活動