首页 > 代码库 > Android学习笔记(十) Activity的生命周期

Android学习笔记(十) Activity的生命周期

一、如何在一个应用程序中定义多个Activity

  -定义一个类,继承Activity
  -复写onCreate()
    setContentView(R.layout.secondLayout):设定该Activity使用的布局文件
  -在AndroidManifest.xml文件中注册该Activity
    1)在Application标签里面加入一个Activity标签,name一般为“包名+类名”,label一般为Activity名
    2)如果要修改程序默认启动的Activity,需要将intent-filter标签及其内容移动到该Activity中

二、启动一个Activity的方法

  -生成一个意图对象(Intent)
    Intent intent = new Intent();

  -调用setClass方法设置索要启动的Activity
    intent.setClass(MainActivity.this,SecondActivity.class);
      //setClass函数的第一个参数是Context对象
      //Context是一个类,Activity是Context类的子类,也就是说所有的Activity对象都可以向上转型为Context对象
      //第二个参数是一个Class对象,当前场景下应该传入需要被启动的Activity的Class对象

  -调用startActivity方法启动Activity
    startActivity(intent);

三、Android当中的back stack

  先后启动的Activity会放在一个栈里,被称为back stack。

四、Activity的生命周期函数

  -onCreate,在第一次创建Activity时调用
  -onStart,使Activity变得可见时调用
  -onResume,当Activity开始准备与用户交互时调用
  -onPause,当系统即将启动另外一个Activity之前调用
  -onStop,当前Activity变得不可见时调用
  -onDestroy,当前Activity被销毁之前调用
  -onRestart,当一个Activity再次启动之前调用

技术分享

五、Activity对象的状态

  -Resumed,Activity对象处于运行状态
  -Paused,另一个Activity位于前端,但是本Activity仍然可见
  -Stopped,另一个Activity位于前端,完全遮挡本Activity

六、成对的生命周期函数

  onPause<-->onResume
  onStop<-->onStart
  onCreate<-->onDestroy
  onRestart

七、以开车为例

  onCreate-->买车
  onDestroy-->车报废
  onStart-->点火
  onStop-->熄火
  onResume-->踩油门,驱动汽车前进
  onPause-->松开油门

Android学习笔记(十) Activity的生命周期