牛骨文教育服务平台(让学习变的简单)

Activity的生命周期体现在下面的6个函数上面:

1)onCreate    :Activity被创建的时候调用的方法

2)onStart       :Activity变成用户可见的时候调用的方法

3)onResume :界面获取焦点的时候调用的方法

4)onPause    :界面失去焦点,控件不能响应点击事件的时候调用的方法

5)onStop       :界面不可见的时候调用的方法

6)onDestroy  :Activity被销毁的时候调用的方法

Activity的完整生命周期自onCreate到onDestroy方法为止

可视生命周期由onStrart到onStop方法为止

前台生命周期由onResume到onPause方法为止

另外还有一个方法是onRestart方法,当一个Activity由onStop到onStart的时候就会调用onRestart方法

经过测试需要注意的点是:当应用程序点击back键之后它会依次调用onPause,onStop,onDestroy方法

当时如果点击home键之后它会调用onPause和onStop方法,并不会调用onDestroy方法,如果重新进入Activity则这个时候它会调用onRestart方法。这个点非常重要。

下面是我的测试代码,有两个Activity,只贴出第一个Activity:

package com.example.mytest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		System.out.println("onCreate");

	}

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		System.out.println("onStart");
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		System.out.println("onResume");
	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		System.out.println("onPause");
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		System.out.println("onStop");
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		System.out.println("onDestroy");
	}

	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		System.out.println("onRestrat");
	}

	public void click(View v) {
		Intent intent = new Intent(this, NextActivity.class);
		startActivity(intent);
	}

}