4つのコンポーネントのactivity(ライフサイクル)


一:activityのライフサイクル:
(1)通常時のライフサイクル:
1.activity:onCreatee->onStart->onResume activityを起動して運転状態に入る
2.activityの終了:onPause->onStop->onDestory activity終了
3.現在のactivityが他のactivityで上書きされているか、画面がロックされている:onPauseメソッドが呼び出され、現在のactivityの実行が一時停止します.
4.現在のactivityは上書きされた状態からフロントに戻ったり、画面をロック解除したりします.onResumeメソッドが呼び出され、再び実行状態に入ります.
5.現在のactivityは新しいactivityインタフェースに移動するか、ホームキーを押してメイン画面に戻り、自身はバックグラウンドに退く:onPause->onStop、停滞状態に入る(最小化)
6.ユーザーはこのactivity:onRestart->onStart->onResumeに戻り、運転状態に入ります(最大化)
7.2と4の状態でシステムメモリが不足している場合、現在のactivityを殺し、ユーザーが現在のactivityに後退した場合:onCreate->onStart->onResume、運転状態に入る
(2)異常時のライフサイクル
縦横画面切り替え時のライフサイクル:onSaveInstanceState(一時データの保存)->onPause->onStop->onDestory->onCreate->onStart->onRestoreInstanceState(一時データの復元)->onResume
周知のように縦画面切り替えの時、activityは再びonCreateの方法を歩いて、例えば格闘ゲームを歩いて、再びonCreateの方法を歩いた時、役は満血で復活して、このように明らかにだめで、それでは私達は普通どのように解決しますか?、一般的には私たちはandroidmanifestにいます.xmllのactivit要素にこの属性を追加します.android 4.0以上ではscreenSizeを追加する必要があります.つまりandroid 4.0以降のバージョンはこのように構成する必要があります.
android:configChanges="keyboardHidden|orientation|screenSize" 

詳細については、次の2つのブログを参照してください.
  • 【Androidリストファイル下のActivity各種構成の詳細】でandroid:configChanges属性について説明します.
  • ACTIVITYライフサイクル詳細2
  • 関連ブログ:stormzhangブログ:ACTIVITYライフサイクル詳細