「戻る」ボタンを押した後の Android アクティビティのライフサイクル
-
21-12-2019 - |
質問
2 つのアクティビティのライフサイクルの間で少し混乱しています。
アクティビティ A とアクティビティ B があるとします。
B は A から呼び出されます。つまり A ----> B
.
今現在 B
が画面上に表示され、戻るボタンを押しました。ここで知りたいのは:-まだ利用可能なメモリはありますか? B
(アクティブ) または B
のメモリはフラッシュされます(非アクティブ)。
解決
アクティビティ A があり、そこからアクティビティ B を起動するとします。アクティビティ B の使用中に戻るボタンを押すと、アクティビティ B がスタックからポップされ、アクティビティ B はアクティビティ スタックから削除されます。
アクティビティをスタックにプッシュするたびに、 onCreate
と呼ばれるので戻るボタンを押すと、 onDestroy
が呼び出されます。これは、アクティビティがフラッシュされることを意味します。
詳細については、私のブログをご覧ください。http://upadhyayjiteshandroid.blogspot.in/2013/02/android-lifecycle.html
詳しくはこちらをご覧ください
http://developer.android.com/guide/components/tasks-and-back-stack.html
http://developer.android.com/training/basics/activity-lifecycle/starting.html
他のヒント
戻るボタンを押した後、以下のアクティビティコールバックメソッドが呼び出されます。
onPause()
onStop()
onDestroy()
.
活動は破壊されます。
とそれは再び発売されたときに再現します。これは再び起動したときのコールバックメソッドです。
onCreate()
onStart()
onResume()
. onDestroy
メソッドをバックプレス後に呼び出します。その後、アクティビティバックスタックからアクティビティがポップされます。
アクティビティが一時停止または停止されている場合、システムは、それを終了するように尋ねるか、単にそのプロセスを殺すことによって、メモリからアクティビティを削除できます。ユーザーに再表示されると、それを完全に再起動して以前の状態に復元する必要があります。
onDestroy()
Docs :< / P>
あなたの活動が破壊される前にあなたが受け取る最後の呼び出し。これは、アクティビティが終了しているため(
finish()
という人が、システムが一時的に Space を節約するためにこのインスタンスを破壊するため、このインスタンスを一時的に破壊しているため、このインスタンスを破壊するためです。 。
私は答えが逮捕されたことを知っています、それでも私がそれを置く誰かに助けてくれるならば。
アプリが初めて開かれているときは、アイコンをクリックして
onCreate()
onStart()
onResume()
.
ホームボタンを押すと
onPause()
onStop()
.
アプリケーションアイコンをクリックするか、最近の
から起動して再び開かれるときonRestart()
onStart()
onResume()
.
アプリを開いてから戻るボタンを押すと
onPause()
onStop()
onDestroy()
. 活動Bは破壊され、メモリに残っていないでしょう。
詳細については Android の公式ドキュメント活動ライフサイクル図を見てください。
バックキーを押すと、アクティビティのondestroy()メソッドが呼び出され、アクティビティはメモリからフラッシュされます。その後、onCreate()メソッドを呼び出すStartActivity()メソッドを呼び出すことで、アクティビティを再起動する必要があります。
活動ライフサイクル
の次のリンクを参照することをお勧めします。http://stackoverflow.com/a/8516056/3110609
.
および後の起動モードのためのリンク。
www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode
. 戻るボタンを押した後、Bは破壊されます。Androidは、a href="http://www.callearn.com/data-structure / basic-stack-concept/ "stackの説明)のようなアクティビティを管理します。a>。アクティビティを開始するたびに、アクティビティスタックにプッシュします。そのため、アクティビティAコールアクティビティB、アクティビティBはアクティビティBの上にあり、戻るボタンを押すと、アクティビティスタックのPOPもあります。そのため、概念では、活動Bは消えています。ホームボタンを押すと押すと異なりますので、アクティビティを一時停止します。したがって、まだ少し電話のメモリを食べます。
ここは、Androidの管理を管理する方法についての良い説明です。。