Activity生命周期(上)

来源:互联网 发布:影响因素分析模型知乎 编辑:程序博客网 时间:2024/06/03 09:06

          Activity的生命周期分为正常情况和异常情况两种,其中正常指的是在用户参与下的情况,比如用户按下back见或者home键等,异常指的是由于内存需求被此Activity被系统回收或者由于当前设备的Configuration发生变化(比如横竖屏切换)而导致Activity被销毁重建。

      本篇只介绍正常情况下Activity生命周期的变化,这里假设有两个Activity,分别为ActivityA和ActivityB,以下简称A和B,其中A为入口

    1.用户点击桌面图标进入应用时:A onCreate ------>AonStart ------>AonResume

                                                          

  2.点击A中的按钮进入B时:AonPause  ------>BonCreate ------>BonStart------> BonResume ------> AonStop

     有两个地方需要注意1)A的onPasue先执行,B的onCreate后执行

                                         2)新的Activity的onResume执行之后旧的Activity的onStop才会执行

                                         3)如果B的主题为透明主题A的onStop方法并不会执行

                                      

3.此时点击back键:BonPause ------> AonRestart------>  AonStart------>  AonResume------> Bonstop ------>BonDestory

注意:同样是B的onPasue先执行(推理:新旧Activity切换时总是旧的Activity的onPasue先执行,新的Activity的onResume执行之后旧的onStop方法才会执行,所以不能在onPasue方法中执行重量级操作,重量级的可以放在onStop方法中)

                                 

4.此时按下home键:AonPause  ------> AonStop(注意A的onDestory方法并不会执行)
                                

5.点击桌面图标重新进入:  AonRestart   ------>AonStart   ------>AonResume(注意A的onCreate方法并不会执行)

                                 

总结:Activity一股有7个方法,除了onRestart之外其余6个都是成对对应的,其中

onCreate<--->onDestory创建与销毁

onStart<--->onStop是否可见

onResume<--->onPasue是否获得焦点(即是否可以和用户进行交互)