Activity的生命周期

这是google android官方网站所给出的activity的生命周期图 刚刚接触到android应用开发的我们看到这张图,我们肯定是懵了,我们用android程序实现以下 观察这些过程到底是什么时候被调用的

activity生命周期中方法的作用

  • oncreate:Activity对象创建完毕,但此时不可见
  • onstart:Activity在屏幕可见,但是此时没有焦点(即该该界面不能交互 不能点击)
  • onResume:Activity在屏幕可见,并且获得焦点
  • onPause:Activity此时在屏幕依然可见,但是已经没有焦点
  • onStop:Activity已经不可见了,但此时Activity的对象还在内存中
  • onDestroy:Activity对象被销毁

我们用logcat记录这些方法都什么时候被调用

创建一个新的android工程 在MainActivity类中覆盖父类的以上方法 如下代码

public class MainActivity extends Activity {
private String TAG = "MainActivty";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Log.e(TAG, "main:onCreate()");
}

@Override
protected void onStart() {
    super.onStart();
    Log.e(TAG, "main:onStart()");
}

@Override
protected void onResume() {
    super.onResume();
    Log.e(TAG, "main:onResume()");
}

@Override
protected void onRestart() {
    super.onRestart();
    Log.e(TAG, "main:onRestart()");
}

@Override
protected void onPause() {
    super.onPause();
    Log.e(TAG, "main:onPause()");
}

@Override
protected void onStop() {
    super.onStop();
    Log.e(TAG, "main:onStop()");
}

@Override
protected void onDestroy() {
    super.onDestroy();
    Log.e(TAG, "main:onDestroy()");
}

}
  • 当我们打开应用的时候logcat输出 如图

  • Activity的生命周期_第1张图片

  • 当我们点击home键到主界面时 logcat输出如图 可以看出activity并没有被销毁

  • 我们再次点击应用的时候 logcat输出如图
  • 我们点击返回应用退出的时候 logcat输出如图
  • 当你自己做完这些事情的时候 相比你已经对activity的google官网给的生命周期有了进一步的认识了

</html

你可能感兴趣的:(Activity的生命周期)