Android之Activity中一些操作对生命周期的影响

2019-02-19  本文已影响0人  木木禾木

Activity的生命周期:
onCreate ——> onStart ——> onResume ——> onAttachedToWindow ——> onPause ——> onStop ——> onDestroy ——> onDetachedFromWindow

Fragment的生命周期:
onAttach ——> onCreate ——> onCreateView ——> onViewCreated ——> onActivityCreated ——> onStart ——> onResume ——> onPause ——> onStop ——> onDestroyView ——> onDestroy ——> onDetach

那么,Activity中的一些操作会对生命周期造成怎样的影响呢,跟着镜头一起走进Android不归路...

  1. Activity-A中按home键进入后台或切到多任务页面:
    A-onPause ——> A-onStop
    从后台或多任务返回:
    A-onStart ——> A-onResume

  2. Activity-A锁屏
    A-onPause ——> A-onStop
    解锁屏幕:
    A-onStart ——> A-onResume

  3. 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

  4. Activity-A中下拉通知栏:
    生命周期无变化

  5. Activity-A中弹出Dialog 或 DialogFragment:
    生命周期无变化

  6. Activity-A中弹出PopupWindow:
    生命周期无变化

  7. Activity-A中弹出Toast:
    生命周期无变化

  8. 在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

  9. 弹出权限申请框时


    A-onPause
    弹出框关闭:
    A-onResume

最后,附上个人测试所用的 TestLifeCycle源码~

上一篇下一篇

猜你喜欢

热点阅读