またはで保持しているビューやその他のデータを手放す必要がありますonStop()
かonDestroy()
?
- アプリケーションのデータを解放する
onDestroy()
と、Android に対してあまりメモリに優しくありません。正しいですか? onStop() の後、私はまだいくつかのビューを保持しているので。さらに、呼び出されることは保証されておらず、アクティビティはとにかくメモリから消去されます。 - でリリースする場合、渡されたを取得しないdo myなど
onStop()
を追加する必要があります。setContentView()
onStart()
Bundle
onCreate(Bundle)
数十のビューで構成される非常に大きなアプリケーションがあることに注意してください。そのほとんどはカスタムであり、レイアウト ファイルではなくコードによって追加されます。これは主に、ページをめくるためのカスタム ページャーを作成しなければならなかったという事実によるものです。ビルトイン ビューのどれも私の目的を果たすことができなかったからです (私は一生懸命試しました…)。
関連するすべてのAndroidドキュメントを読みましたが、Androidがそれ自体で保存/再作成するビュー階層と、自分で何をしなければならないかについて、まだ本当の手がかりがありません. または、そのすべてが発生したとき、つまり Android がビュー階層をメモリから削除したときです。
更新の質問:
Androidのドキュメントには次のように書かれています:Note: Because the system retains your Activity instance in system memory when it is stopped, it's possible that you don't need to implement the onStop() and onRestart() (or even onStart() methods at all.
すべてを保持しても問題ない場合、この記事で説明されているように、アプリケーションが停止しているときにメモリ リークを気にする必要があるのはなぜですか? たとえば、画面の回転後に破棄されて再作成された場合、とにかくゼロから始めていますか?