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

Android基础知识之四大组件Activity(二)一个Activity的生命周期?

2015-07-30 22:32 716 查看
参见Android的API文档可见如上一幅图,这幅图里很好的解释了Android生命周期,以及Activity的各种状态。



为了更好的理解Activity的生命周期,我们先来创建一个Project(在这里我用的是Android Studio),在MainActivity(我这里改成了AActivity)中重写onCreate(), onStart(), onResume()等方法。

代码如下

package com.daxiangzai.androiddemo.oneactivitylifecycle;

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

public class AActivity extends Activity {

private final String TAG = "TAG";//定义一个字符串常量TAG标记输出日志

//重写Activity的onCreate()方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
Log.i(TAG, "调用了activity_a onCreate()方法");
}

//重现Activity的onStart()方法
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "调用了activity_a onStart()方法");
}

//重写Activity的onResume()方法
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "调用了activity_a onResume()方法");
}

//重写Activity的onPause()方法
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "调用了activity_a onPause()方法");
}

//重写Activity的onStop()方法
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "调用了activity_a onStop()方法");
}

//重写Activity的onRestart()方法
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "调用了activity_a onRestart()方法");
}

//重写Activity的onDestroy()方法
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "调用了activity_a onDestroy()方法");
}
}


当运行程序的时候,Logcat会弹出如下信息:



这说明当我们运行单一的Activity的时候,会依次顺序调用onCreate(), onStart(), onResume()方法,之后Activity处于一个运行的状态。

当我们点击返回按钮,结束这个Activity时。又会依次顺序调用onPause(), onStop(), onDestroy()方法,最终销毁这个Activity。Logcat会弹出如下信息:



这里我吐槽一下,Android Studio面板的Logcat竟然不显示中文,白打了这么多字!

代码:http://download.csdn.net/detail/lxawcf/8947971
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息