Androidライフサイクル
Androidドキュメントガイド
https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko
ドキュメントから
アクティビティは次のとおりです.
OnCreate > OnStart > (onRestoreInstanceState) > (onActivityResult) > OnResume > OnPause > OnStop > (onSaveInstanceState) > OnDestory
OnCreateで実行する操作は、リストにデータをバインドすることです.
ViewModelまたはインスタンス化クラス変数の範囲を接続します.
OnStart UI管理コードの初期化
onRestoreInstanceStateは、システムがリカバリするストレージ状態にある場合にのみ呼び出されますが、bundleはnullの場合がありますのでnullと確認する必要があります.
onStart前後でOnResumeを実行する前に実行します.
OnResumeでレイアウトをバックグラウンドに表示
OnPauseでは、activityがバックグラウンドに切り替わったとき/マルチウィンドウを実行して他のアプリケーションに焦点を当てたとき(マルチウィンドウの場合でもアプリケーションは表示されます).
フォーカス解除時に処理する必要のある動作(カメラプレビューの解除など)は、不要な占有を回避しますが、ここではトランザクション、データストレージ、ネットワーク呼び出しなどの時間のかかるタスクは処理されません.(OnStopで処理)
しかし、ここでやったことはすべてOnResumeで回復しなければならないことを覚えておいてください.
また、isFinishing()でアプリケーションが終了しているか、バックグラウンドで実行されているかなどを確認することもできます.
OnStopは、UIに関連するリソースまたはアクションを完全に無効にすることができます.
保存が必要なアクティブデバイスの状態などがあれば、ここでとります.
onSaveInstanceStateは軽い動作しか処理できません.
ユーザが終了した場合(onBackPressなど)、コールバックは呼び出されません.
「オンライン設計」でfinish()を明示的に呼び出して、アクティビティを終了したり、アクティビティを閉じたり、構成を変更したりしますか?(装置回転またはマルチウィンドウモード)システムを一時的に停止させます.
アプリケーション内のアクティブな変更を処理する場合(A>B)
Bコール>A onPause>B onCreate>B onStart>B onResume>A onStop(Aが画面に表示されなくなった場合)
https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko
ドキュメントから
アクティビティは次のとおりです.
OnCreate > OnStart > (onRestoreInstanceState) > (onActivityResult) > OnResume > OnPause > OnStop > (onSaveInstanceState) > OnDestory
OnCreateで実行する操作は、リストにデータをバインドすることです.
ViewModelまたはインスタンス化クラス変数の範囲を接続します.
OnStart UI管理コードの初期化
onRestoreInstanceStateは、システムがリカバリするストレージ状態にある場合にのみ呼び出されますが、bundleはnullの場合がありますのでnullと確認する必要があります.
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
// Always call the superclass so it can restore the view hierarchy
super.onRestoreInstanceState(savedInstanceState)
// Restore state members from saved instance
savedInstanceState?.run {
currentScore = getInt(STATE_SCORE)
currentLevel = getInt(STATE_LEVEL)
}
}
onActivity Resultが不安定です.onStart前後でOnResumeを実行する前に実行します.
//Android Activity的life网站上呼吁onActivity Result()是什么时候?
OnResumeでレイアウトをバックグラウンドに表示
OnPauseでは、activityがバックグラウンドに切り替わったとき/マルチウィンドウを実行して他のアプリケーションに焦点を当てたとき(マルチウィンドウの場合でもアプリケーションは表示されます).
フォーカス解除時に処理する必要のある動作(カメラプレビューの解除など)は、不要な占有を回避しますが、ここではトランザクション、データストレージ、ネットワーク呼び出しなどの時間のかかるタスクは処理されません.(OnStopで処理)
しかし、ここでやったことはすべてOnResumeで回復しなければならないことを覚えておいてください.
また、isFinishing()でアプリケーションが終了しているか、バックグラウンドで実行されているかなどを確認することもできます.
// Understanding of isFinishing()
OnStopは、UIに関連するリソースまたはアクションを完全に無効にすることができます.
保存が必要なアクティブデバイスの状態などがあれば、ここでとります.
onSaveInstanceStateは軽い動作しか処理できません.
ユーザが終了した場合(onBackPressなど)、コールバックは呼び出されません.
「オンライン設計」でfinish()を明示的に呼び出して、アクティビティを終了したり、アクティビティを閉じたり、構成を変更したりしますか?(装置回転またはマルチウィンドウモード)システムを一時的に停止させます.
アプリケーション内のアクティブな変更を処理する場合(A>B)
Bコール>A onPause>B onCreate>B onStart>B onResume>A onStop(Aが画面に表示されなくなった場合)
Reference
この問題について(Androidライフサイクル), 我々は、より多くの情報をここで見つけました https://velog.io/@yoodlf7/1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol