在Activity的生命周期中会调用到onCreate()、onRestart()、onStart()、onResume()、onPause()、onStop()、onDestroy()这七个函数,其中onPause()和onStop()可以根据安卓系统的
具体运行状况决定是否杀掉该进程。onCreate(),onStart(),onResume在运行当前界面时执行,其中onResume运行在当前界面已可进行交互时,onPaused()和onStop()在后台挂起当前界面时执行,其中onPause()运行在当前界面不可操作时,onStop()运行在当前界面不可见时,onDestroy()在结束运行该界面时执行,onRestart()在返回某个界面时执行。执行一个Activity的流程图如下。
由一个Activity01通过Button调用另一个Activity02的生命周期如下
依次执行
Activity01的onCreate() onStart() onResume() onPause() Activity02的onCreate() onStart() onResume() Activity01的onStop(),点击返回键依次执行Activity02的onPause() Activity01的 onRestart() onStart() onResume() Activity02的onStop(),onDestroy();
在将Activity02声明成对话框形成窗口型的Activity,再由Activity01调用Activity02时,由于Activity01依然在当前界面,但是不能操作,在跳转到Activity02时不执行Activity01的onStop(),点击返回键直接执行Activity01的Resume()进入交互界面,再执行Activity02的onStop()、onDestroy();窗口型的Activity通常用于弹出提醒,执行进度条等等
在AndroidManifest.xml中声明Activity02的语句如下。
<activity android:name=".Activity02"
android:label="Activity02"
android:theme="@android:style/Theme.Dialog"
></activity>
android:label="Activity02"
android:theme="@android:style/Theme.Dialog"
></activity>