Fragmentのライフサイクルの確認 その2 onStart〜onResume
前回の続きです。
onStart〜onResumeを見てみます。
Activity#onStart()後に呼ばれるFragmentメソッド
onStartのログ
onStart java.lang.Exception at com.mydroid.fragmenttest.fragment.FragmentSample.onStart(FragmentSample.java:43) at android.app.Fragment.performStart(Fragment.java:1469) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:810) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:977) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:960) at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:1679) at android.app.Activity.performStart(Activity.java:4413) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1788) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) at android.app.ActivityThread.access$500(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:132) at android.app.ActivityThread.main(ActivityThread.java:4123) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:491) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) at dalvik.system.NativeStart.main(Native Method)
わかったこと
ログから判明したこと。
- Activity#onStart()処理終了後、Activity#performStart() → FragmentManagerImpl#dispatchStart()からコールされる
Activity#onResume()後に呼ばれるFragmentメソッド
onResumeのログ
onResume java.lang.Exception at com.mydroid.fragmenttest.fragment.FragmentSample.onResume(FragmentSample.java:49) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:821) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:977) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:960) at android.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:1684) at android.app.Activity.performResume(Activity.java:4478) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2316) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1836) at android.app.ActivityThread.access$500(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:132) at android.app.ActivityThread.main(ActivityThread.java:4123) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:491) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) at dalvik.system.NativeStart.main(Native Method)
わかったこと
ログから判明したこと。
- ActivityThread#handleResumeActivity()処理内に移行
- Activity#onResume()処理終了後、Activity#performResume() → FragmentManagerImpl#dispatchResume()からコールされる