Activity的生命周期——原创

来源:互联网 发布:mysql 加列 编辑:程序博客网 时间:2024/05/26 20:23
Android学习自修笔记(二)
Activity的生命周期
                                              ————将军的Android自修之途
Activity从创建到销毁的过程中需要在不同的阶段调用7个生命周期方法。这7个生命周期方法的定义如下:
protectedvoid onCreate(Bundle savedInstanceState);
protectedvoid onDestroy()
protectedvoid onPause()
protectedvoid onRestart()
protectedvoid onResume()
protectedvoid onStart()
protectedvoid onStop()

IMG_20140104_093645.jpg (771.89 KB, 下载次数: 0)

下载附件  保存到相册

2014-1-5 15:53 上传


从图中所示的Activity生命周期方法调用示意图不难看出,在整个Activity的生命周期中包含两层循环,第一层循环是:onPause—>onResume->onPause.第二层循环是onStop->onRestart->onStart->onResume->onPause->onStop.我们可以将这两层循环看成是整个Activity生命周期中的子生命周期。第一层循环称为焦点生命周期,第二层循环称为可视生命周期。也就是说,第一层循环在Activity焦点的获得与失去的过程中循环,在这一过程中,Activity始终是可见的。第二层循环是在Activity可见于不可见的过程中循环,在这个过程中伴随着Activity焦点的获得与失去。也就是说,Activity首先会被显示,然后会获得焦点,接着失去焦点,最后由于弹出其他的Activity使当前的Activity变成不可见。因此,Activity有如下3种生命周期:
整体生命周期:onCreate->......->onDestroy.
可视生命周期:onStart->.. . .->onStop
焦点生命周期:onResume->…………->onPause.
publicclass CycleActivityextends Activity {
   @Override
   protectedvoid onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
       Log.d("onCreate","onCreateMethod is executed.");
      //setContentView(R.layout.activity_cycle);
    }
   protectedvoid onDestroy()
    {
      super.onDestroy();
       Log.d("onDestroy","onDestroyMethod is executed.");
    }
   protectedvoid onPause()
    {
      super.onPause();
       Log.d("onPause","onPauseMethod is executed.");
      
    }
   protectedvoid onRestart()
    {
      super.onRestart();
       Log.d("onRestart","onRestartMethod is executed.");
    }
   protectedvoid onResume()
    {
      super.onResume();
       Log.d("onResume","onResumeMethod is executed.");
    }
   protectedvoid onStart()
    {
      super.onStart();
       Log.d("onStart","onStartMethod is executed.");
    }
   protectedvoid onStop()
    {
      super.onStop();
       Log.d("onStop","onStopMethod is executed.");
    }
   
}
注意:在Activity的子类中实现这7个生命周期方法时应该在这些方法的一开始调用Activity类中的生命周期方法(如super.onCreate),否则系统会抛出异常。
0 0
原创粉丝点击