Android之Activity中一些操作对生命周期的影响
Activity的生命周期:
onCreate ——> onStart ——> onResume ——> onAttachedToWindow ——> onPause ——> onStop ——> onDestroy ——> onDetachedFromWindow
Fragment的生命周期:
onAttach ——> onCreate ——> onCreateView ——> onViewCreated ——> onActivityCreated ——> onStart ——> onResume ——> onPause ——> onStop ——> onDestroyView ——> onDestroy ——> onDetach
那么,Activity中的一些操作会对生命周期造成怎样的影响呢,跟着镜头一起走进Android不归路...
-
Activity-A中按home键进入后台或切到多任务页面:
A-onPause ——> A-onStop
从后台或多任务返回:
A-onStart ——> A-onResume
-
Activity-A锁屏
A-onPause ——> A-onStop
解锁屏幕:
A-onStart ——> A-onResume
-
Activity-A中启动Activity-B :
启动:
A-onPause ——> B-onCreate ——> B-onStart ——> B-onResume ——> B-onAttachedToWindow ——> A-onStop
Activity-B中点击返回键:
B-onPause ——> A-onActivityResult ——> A-onStart ——> A-onResume ——> B-onStop ——> B-onDestroy ——> B-onDetachedFromWindow
-
Activity-A中下拉通知栏:
生命周期无变化
-
Activity-A中弹出Dialog 或 DialogFragment:
生命周期无变化
-
Activity-A中弹出PopupWindow:
生命周期无变化
-
Activity-A中弹出Toast:
生命周期无变化
-
在Activity的onCreate中通过 replace(int resId, Fragment fragment) 装载Fragment:
activity-onCreate ——> fragment-onAttach ——> fragment-onCreate ——> fragment-onCreateView ——> fragment-onViewCreated ——> fragment-onActivityCreated ——> fragment-onStart ——> activity-onStart ——> activity-onResume ——> fragment-onResume ——> activity-onAttachedToWindow
点击返回键:
fragment-onPause ——> activity-onPause ——> fragment-onStop ——> activity-onStop ——> fragment-onDestroyView ——> fragment-onDestroy ——> fragment-onDetach ——> activity-onDestroy ——> activity-onDetachedFromWindow
-
弹出权限申请框时
A-onPause
弹出框关闭:
A-onResume
最后,附上个人测试所用的 TestLifeCycle源码~