Activity的生命周期——原创

Android 学习自修笔记(二)
Activity 的生命周期
                                              ————将军的Android 自修之途
Activity 从创建到销毁的过程中需要在不同的阶段调用7 个生命周期方法。这7 个生命周期方法的定义如下:
protected void onCreate(Bundle savedInstanceState);
protected void onDestroy()
protected void onPause()
protected void onRestart()
protected void onResume()
protected void onStart()
protected void 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.
public class CycleActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super .onCreate(savedInstanceState);
       Log.d( "onCreate" , "onCreateMethod is executed." );
       //setContentView(R.layout.activity_cycle);
    }
    protected void onDestroy()
    {
       super .onDestroy();
       Log.d( "onDestroy" , "onDestroyMethod is executed." );
    }
    protected void onPause()
    {
       super .onPause();
       Log.d( "onPause" , "onPauseMethod is executed." );
      
    }
    protected void onRestart()
    {
       super .onRestart();
       Log.d( "onRestart" , "onRestartMethod is executed." );
    }
    protected void onResume()
    {
       super .onResume();
       Log.d( "onResume" , "onResumeMethod is executed." );
    }
    protected void onStart()
    {
       super .onStart();
       Log.d( "onStart" , "onStartMethod is executed." );
    }
    protected void onStop()
    {
       super .onStop();
       Log.d( "onStop" , "onStopMethod is executed." );
    }
   
}
注意:在 Activity 的子类中实现这 7 个生命周期方法时应该在这些方法的一开始调用 Activity 类中的生命周期方法(如 super.onCreate ),否则系统会抛出异常。

你可能感兴趣的:(android,Activity,生命声明)