LoginSignup
15

More than 5 years have passed since last update.

Activityのライフサイクル(ログ)

Last updated at Posted at 2015-06-06

なんとなく、分かった気になっているActivityのライフサイクル。
関わっている案件で、結構シビアに見ないといけないことになったので、ログ取ってみました。
@calciolife さんの記事に詳しいことは書かれています。
http://qiita.com/calciolife/items/39b2696a9a03e8591d40

この記事は単なるログを貼り付けただけです。
lauchMode変えたり、AppcompatActivityにしてみたり、他にも漏れてるコールバックがあればとか、随時追加していく予定。

設定とか

検証端末はNexus5
OSは4.4.4

U_16_main : 遷移元のActivity
U_16_sub : 遷移先のActivity
U_16_fragment : Activityにadd(replace)されるfragment
U_16_View : ActivityにaddされるView

Activityは2つともActionBarActivity
launchModeはSingleTop
FragmentはsupportFragmentを使用
ViewはFrameLayoutにTextViewを一個入れたもの

以下ログ

Activity立ち上げ

D/U_16_main﹕ onContentChanged
D/U_16_main﹕ oncreate
D/U_16_main﹕ onStart
D/U_16_main﹕ onPostCreate
D/U_16_main﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume
D/U_16_main﹕ onAttachedToWindow

Activity遷移

D/U_16_main﹕ onUserInteraction
D/U_16_main﹕ onUserInteraction
D/U_16_main﹕ onUserLeaveHint
D/U_16_main﹕ onPause
D/U_16_sub﹕ onContentChanged
D/U_16_sub﹕ onCreate
D/U_16_sub﹕ onStart
D/U_16_sub﹕ onPostCreate
D/U_16_sub﹕ onResume
D/U_16_sub﹕ onResumeFragments
D/U_16_sub﹕ onPostResume
D/U_16_sub﹕ onAttachedToWindow
D/U_16_main﹕ onSaveInstanceState
D/U_16_main﹕ onStop

Backkeyで戻る

D/U_16_sub﹕ onUserInteraction
D/U_16_sub﹕ onKeyDown
D/U_16_sub﹕ onUserInteraction
D/U_16_sub﹕ onBackPressed
D/U_16_sub﹕ onPause
D/U_16_main﹕ onRestart
D/U_16_main﹕ onStart
D/U_16_main﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume
D/U_16_sub﹕ onStop
D/U_16_sub﹕ onDestroy

履歴ボタン/HomeButton/他のアプリへ遷移

D/U_16_main﹕ onUserInteraction
D/U_16_main﹕ onUserLeaveHint
--------- beginning of /dev/log/system
D/U_16_main﹕ onPause
D/U_16_main﹕ onSaveInstanceState
D/U_16_main﹕ onStop

スリープモードにする

D/U_16_main﹕ onPause
D/U_16_main﹕ onSaveInstanceState
D/U_16_main﹕ onStop

履歴から復帰

D/U_16_main﹕ onRestart
D/U_16_main﹕ onStart
D/U_16_main﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume

Fragment をonCreateで追加

D/U_16_main﹕ onUserInteraction
D/U_16_fragment﹕ onAttach
D/U_16_main﹕ onAttachFragment
D/U_16_fragment﹕ onCreate
D/U_16_fragment﹕ onCreateView
D/U_16_fragment﹕ onViewCreated
D/U_16_fragment﹕ onActivityCreated
D/U_16_fragment﹕ onViewStateRestored
D/U_16_fragment﹕ onStart
D/U_16_fragment﹕ onResume

Fragmentがある場合の back → fore

D/U_16_main﹕ onUserInteraction
D/U_16_main﹕ onUserLeaveHint
D/U_16_fragment﹕ onPause
D/U_16_main﹕ onPause
D/U_16_main﹕ onSaveInstanceState
D/U_16_main﹕ onStop
D/U_16_main﹕ onRestart
D/U_16_fragment﹕ onStart
D/U_16_main﹕ onStart
D/U_16_main﹕ onResume
D/U_16_fragment﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume

Fragmentがある場合の画面回転

D/U_16_fragment﹕ onPause
D/U_16_main﹕ onPause
D/U_16_main﹕ onSaveInstanceState
D/U_16_main﹕ onStop
D/U_16_fragment﹕ onDestroyView
D/U_16_fragment﹕ onDestroy
D/U_16_fragment﹕ onDetach
D/U_16_main﹕ onDestroy
D/U_16_fragment﹕ onAttach
D/U_16_main﹕ onAttachFragment
D/U_16_fragment﹕ onCreate
D/U_16_main﹕ oncreate
D/U_16_fragment﹕ onCreateView
D/U_16_fragment﹕ onViewCreated
D/U_16_fragment﹕ onActivityCreated
D/U_16_fragment﹕ onViewStateRestored
D/U_16_fragment﹕ onStart
D/U_16_main﹕ onStart
D/U_16_main﹕ onRestoreInstanceState
D/U_16_main﹕ onPostCreate
D/U_16_main﹕ onResume
D/U_16_fragment﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume
D/U_16_main﹕ onAttachedToWindow

onCreateにaddFragment + addViewを入れた場合のログ

D/U_16_main﹕ onContentChanged
D/U_16_main﹕ oncreate
D/U_16_fragment﹕ onAttach
D/U_16_main﹕ onAttachFragment
D/U_16_fragment﹕ onCreate
D/U_16_fragment﹕ onCreateView
D/U_16_fragment﹕ onViewCreated
D/U_16_fragment﹕ onActivityCreated
D/U_16_fragment﹕ onViewStateRestored
D/U_16_fragment﹕ onStart
D/U_16_main﹕ onStart
D/U_16_main﹕ onPostCreate
D/U_16_main﹕ onResume
D/U_16_fragment﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume
D/U_16_main﹕ onAttachedToWindow
D/U_16_View﹕ onAttachedToWindow
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onSizeChanged
D/U_16_View﹕ onLayout
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onLayout

fragment + view + Menu有りの場合

D/U_16_main﹕ oncreate
D/U_16_main﹕ onContentChanged
D/U_16_fragment﹕ onAttach
D/U_16_main﹕ onAttachFragment
D/U_16_fragment﹕ onCreate
D/U_16_fragment﹕ onCreateView
D/U_16_fragment﹕ onViewCreated
D/U_16_fragment﹕ onActivityCreated
D/U_16_fragment﹕ onViewStateRestored
D/U_16_fragment﹕ onStart
D/U_16_main﹕ onStart
D/U_16_main﹕ onPostCreate
D/U_16_main﹕ onResume
D/U_16_fragment﹕ onResume
D/U_16_main﹕ onResumeFragments
D/U_16_main﹕ onPostResume
D/U_16_main﹕ onAttachedToWindow
D/U_16_View﹕ onAttachedToWindow
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onSizeChanged
D/U_16_View﹕ onLayout
D/U_16_main﹕ onCreateOptionsMenu
D/U_16_main﹕ onPrepareOptionsMenu
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onMeasure
D/U_16_View﹕ onLayout

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15