1.关于Activity的生命周期及一些理解_Android开发技术笔记

Android应用编程基础第篇:Activity生命周期

上篇我们了解了Activity的基本概念和Activity的生命周期。今天我们就通过实例来分析下Activity生命周期。

这里我们再看下上一篇的那张图:

图1 Activity生命周期

我们把HelloAndroid工程中的MainActivity类修改为如下:

代码:

packagecom.example.helloandroid;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.util.Log;

publicclass MainActivity extends Activity {

privatestaticfinal String TAG = "MainActivity";

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Log.i(TAG, "onCreate");

}

@Override

protectedvoid onRestart() {

super.onRestart();

Log.i(TAG, "onRestart");

}

@Override

protectedvoid onStart() {

super.onStart();

Log.i(TAG, "onStart");

}

@Override

protectedvoid onResume() {

super.onResume();

Log.i(TAG, "onResume");

}

@Override

protectedvoid onPause() {

super.onPause();

Log.i(TAG, "onPause");

}

@Override

protectedvoid onStop() {

super.onStop();

Log.i(TAG, "onStop");

}

@Override

protectedvoid onDestroy() {

super.onDestroy();

Log.i(TAG, "onDestroy");

}

}

我们重写图中的七个方法,并打上了log。

下面我们来看一下几种常见情况下的Activity中的方法的调用顺序:

1.当一个Activity启动时:

2.启动完成后:

1)按Back键返回主界面:

2)按HOME键返回主界面:

我们可以看到,按Back键返回和按HOME键返回是不同的,但是两者都会运行,onPause方法和onStop方法。因此我们可以在这两个方法中执行保存数据以及状态的操作。

3.按HOME键后,再点击启动:

我们可以看到按HOME键后再点击桌面图标启动,这时会执行onRestart而不会执行onCreate方法,但都会执行onStart方法和onResume方法。因此回复保存的数据和状态,最好是放在onStart方法和onResume方法中。

4.一个Activity中启动另一个Activity:

第一个Activity执行的方法和按HOME键的效果是一样的,第二个Activity启动就是跑的普通的启动流程。这样我们就很好理解了。

以上就是今天的全部内容了,谢谢大家。内容不多,Activity是基础,任何的数据交互到最后都是需要把结果显示在Activity上面呈现给用户的,因此对生命周期的理解就很重要。

本文欢迎转发,标明出处即可。

微价值网(公号vjiazhi),专注移动互联网、App推广、盈利以及Android/iOS等技术基础培训。

原文链接:,转发请注明来源!