您的位置:首页 > 移动开发 > Android开发

Android之Activity的生命周期

2015-12-22 00:00 281 查看
Activity是Android的核心类,全名是android.app.Activity. 每一个Activity提供了一个可视化的区域。这个区域可以放置各种Android组件,例如按钮、图像、文本框等。

那么这样一个Activity,从启动应用程序到关闭应用程序,它到底是怎样动作,或者是怎样开启和关闭的呢?生命周期到底是怎样的呢?下面看个例子

新建一个安卓工程,修改MainActivity.java

package com.mmc.Activitycycle;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("onCreate", "onCreate Method is executed");
}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.d("onDestroy", "onDestroy Method is executed");
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.d("onPause", "onPause Method is executed");
}

@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.d("onRestart", "onRestart Method is executed");
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.d("onResume", "onResume Method is executed");
}

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("onStart", "onStart Method is executed");
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.d("onStop", "onStop Method is executed");
}

}
在Android应用程序中不能使用System.out.println

然后打开eclipse里面的Logcat,完成下面的步骤

1)启动应用程序‘;

2)按接听按钮,进入通话记录界面,再返回;



3)关闭应用程序;

再点一次2)里第二次按的按钮即可退出。

这时,在LogCat里可以看到



可以看到Activity的三个生命周期,

onResume ---- onPause 焦点生命周期

onRestart ----....---- onStop 可视生命周期

onCreate --- ....--- onDestroy 整体生命周期

通过仿真,可以看出在什么样的情况下是在执行什么样的方法。

刚启动应用程序的时候,是执行三个方法。onCreate onStart onResume

而当按了接听按钮之后,启动另外一个Activity时,那么就要先停止现在的Activity,所以按了接听按钮后,

执行两个方法 onPause onStop

当退出接听Activity,回到应用程序的时候,执行的是 onRestart onStart onResume

当再按下退出应用程序的时候,就应该是毁灭,onPause onStop onDestroy
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: