美文网首页
Activity的生命周期

Activity的生命周期

作者: ToChong | 来源:发表于2019-03-14 14:07 被阅读0次

    1、onCreate()

    当Activity创建的时候调用

    2、onStart()

    当Activity处于可见状态时调用。调用场景:Activity的启动顺序:onCreate()--onStart()--onResume()

    3、OnResume()

    (1)当MainActivity第一次启动时调用:onCreate()--onStart()--onResume()
    (2)“The activity comes to the foreground”:即当前activity被挡住一部分后(失去焦点,处于onPause()状态),重新回到当前activity时(UI最顶层)调用,比如说解锁、弹窗消失等

    4、onPause()

    (1)调用场景:Activity comes to the foreground",即当SecondActivity启动时且不完全挡住MainActivity时调用(即MainActivity不在UI最顶层,单依然可见,比如弹窗、锁屏)
    (2)此时退出SecondActivity(点击Back键),即MainActivity重新回到当前Activity时(UI最顶层),调用onResume(), 即onResume()是在当前Activity被挡住一部分后(失去焦点,处于onPause状态)重新回到当前Activity时(UI最顶层)调用。

    5、onStop()

    调用场景:“the activity is no longer visiable”,即当SecondActivity启动且完全挡住MainActivity时调用(或按Home键回到主屏)
    (MainActivity不在UI最顶层切完全被挡住时)
    如果此时退出(点击Back键)SecondActivity(或回到该应用),调用onRestart()。即onRestart()是当MainActivity从onStop()重新回到当前Activity(UI最顶层)时调用。

    6、onRestart()

    7、onDestroy()

    当MainActivity退出时调用(点击Back键)调用finish()

    8、完全解读

    (1)启动Acitivity:系统会先调用onCreate()方法,然后调用onStart(),最后调用onResume(),Activity进入运行状态
    (2)当前Activity被其他Activity覆盖一部分其上或被锁屏:系统会调用onPause(),暂停当前Activity的执行
    (3)当前Activity由被覆盖(一部分)状态回到前台或解锁屏:系统会调用onResume(),再次进入运行状态
    (4)当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台 :系统会先调用onPause(),再调用onStop(),进入停滞状态
    (5)用户后退回到此Activity:onRestart()-->onStart()-->onResume()
    (6)6.当前Activity处于被覆盖或不同见状态,当更高优先级的app需要内存,该Activity会被杀死
    (7)用户重新回到该Activity:onCreate()-->onStart()-->onResume()
    (8)用户退出当前Activity:onPause()-->onStop()-->onDestory()

    相关文章

      网友评论

          本文标题:Activity的生命周期

          本文链接:https://www.haomeiwen.com/subject/hbrqmqtx.html