Android应用程序中Activity的生命周期

时间:2023-03-08 16:57:51
Android应用程序中Activity的生命周期

Android应用程序中Activity的生命周期

对于Android来说Activity的生命周期是非常的重要,尤其是对于新学者来说,只有充分了解了Activity的生命周期,才能写出优良用户体验的应用

下面来看看具体的Activity生命周期
图1是官方给我们提供的Activity生命周期图:
Android应用程序中Activity的生命周期

                                                                                    图1


大家大概了解了Activity的生命周期后,请看下面的代码
public class MainActivity extends Activity {

	@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("MY_LOG", "---onCreate");
} @Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i("MY_LOG", "---onStart");
} @Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
Log.i("MY_LOG", "---onRestoreInstanceState");
} @Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i("MY_LOG", "---onRestart");
} @Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
Log.i("MY_LOG", "---onSaveInstanceState");
} @Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("MY_LOG", "---onResume");
} @Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i("MY_LOG", "---onPause");
} @Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i("MY_LOG", "---onStop");
} @Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i("MY_LOG", "---onDestroy");
} }

此段代码列出了Activity的各个生命周期所要执行的方法,现在对这些方进行验证。

当第一次启动应用程序时,打印出的LOG如下图:
Android应用程序中Activity的生命周期

当按下返回键时,打印出的LOG如下图:
Android应用程序中Activity的生命周期



当再次打开应用程序时,打印出的LOG如下图:
Android应用程序中Activity的生命周期



当按下home键时,打印出的LOG如下图:
Android应用程序中Activity的生命周期



当第3次打开应用时,打印出的LOG如下图:
Android应用程序中Activity的生命周期



当默认状态下循环旋转屏幕时,打印出的LOG如下图:
Android应用程序中Activity的生命周期


当在Activity中配置了
android:configChanges
="orientation|screenSize"时,打印出的LOG如下图:
Android应用程序中Activity的生命周期


注:退出Activity保存数据时要在onPause()方法中。因为onStop(),方法中有可能Activity会销毁