美文网首页
Activity的生命周期

Activity的生命周期

作者: xinwa | 来源:发表于2018-03-11 19:48 被阅读0次

    一:Activity生命周期的分析

    1. onCreate: 表示Activity正在被创建,在此方法中做一些初始化工作,如调用setContentView 去加载界面布局资源

    2. onRestart: 表示Activity正在重新启动。Activity从不可见状态变为可见状态时,该方法就会被回调。适用场景:用户点击home建之后,重新回到该页面。或者是启动新的Activity之后,在回到该页面。也可以是熄灭屏幕后重新点亮回到该页面。

    3. onStart:表示Activity正在启动,这时Activity还不可见

    4. onResume: 表示Activity已经可见了

    5. onPause: 表示Activity正在停止,这时候Activity还是可见的

    6. onStop:表示Activity即将停止,这时候Activity已经不可见了

    7. onDestory: 表示Activity即将被销毁,在该方法中可以做一些回收工作和资源的释放

    Activity生命周期转换:


    二:Activity生命周期的一些场景

    1. Activity启动一个新的生命周期:
    MainActivity: --onCreate--
    MainActivity: --onStart--
    MainActivity: --onResume--
    MainActivity: --onPause--
    SecondActivity: --onCreate--
    SecondActivity: --onStart--
    SecondActivity: --onResume--
    MainActivity: --onStop--
    
    1. SecondActivity点击back进行回退到MainActivity
    SecondActivity: --onPause--
    MainActivity: --onRestart--
    MainActivity: --onStart--
    MainActivity: --onResume--
    SecondActivity: --onStop--
    SecondActivity: --onDestroy--
    
    1. MainActivity熄灭屏幕在点亮屏幕
    //熄灭
    MainActivity: --onPause--
    MainActivity: --onSaveInstanceState--
    MainActivity: --onStop--
    //点亮
    MainActivity: --onRestart--
    MainActivity: --onStart--
    MainActivity: --onResume--
    
    1. MainActivity点击home,在返回来(点击桌面图标或者双击home键选择app)
    MainActivity: --onPause--
    MainActivity: --onSaveInstanceState--
    MainActivity: --onStop--
    //重新回到该Activity
    MainActivity: --onRestart--
    MainActivity: --onStart--
    MainActivity: --onResume--
    

    点击home键之后,App就切换到后台了,只要在后台不被系统杀死,Activity就不需要重建。

    1. Activity被系统回收之前进行状态的保存

    A.当系统配置发生改变时,例如旋转手机屏幕,
    b.当系统内存不足时,会杀死App所在的进程。

    发生上面俩种情况时,Activity在被销毁之前,系统会回调Activity的onSaveInstanceState()方法。然后我们重新回到Activity时系统会主动回调onRestoreInstanceState()方法

    旋转手机屏幕:

    MainActivity: --onPause--
    MainActivity: --onSaveInstanceState--
    MainActivity: --onStop--
    MainActivity: --onDestroy--
    //Activity被销毁,需重建
    MainActivity: --onCreate--
    MainActivity: --onStart--
    MainActivity: --onRestoreInstanceState--
    MainActivity: --onResume--
    

    相关文章

      网友评论

          本文标题:Activity的生命周期

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