Android学习之Activity的生命周期

我们这次介绍的是Android里一个Activity的运行周期,并用一个例子来进行说明:

我们首先下面先以程序来说明一个Activity是怎么运行的:
首先我们创建两个Activity:FirstActivity、SecondActivity然后分别重写他们生命周期中所要调用的方法的代码,其实就是在其中加入日志,这样我们就能够清晰地对一个Activity的生命周期有所了解了!
以第一个的Activity为例,首先在界面上设置一个按钮,onClick属性的值设为toSecond:

public class FirstActivity extends Activity {

	public static final String LOG = "myLog";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_first);
	}

	/**
	 * 跳转按钮对应的onClick方法
	 */
	public void toSecond(View v) {
		Intent intent = new Intent(this, SecondActivity.class);
		intent.putExtra("Name", "tth");
		this.startActivityForResult(intent, 11);
	}

	public void onStart() {
		Log.d(LOG, "First-onStart");
		super.onStart();
	}

	public void onResume() {
		Log.d(LOG, "First-onResume");
		super.onResume();
	}

	public void onRestart() {
		Log.d(LOG, "First-onRestart");
		super.onRestart();
	}

	public void onPause() {
		Log.d(LOG, "First-onPause");
		super.onPause();
	}

	public void onStop() {
		Log.d(LOG, "First-onStop");
		super.onStop();
	}

	public void onDestroy() {
		Log.d(LOG, "First-onDestroy");
		super.onDestroy();
	}
	
}

 SecondActivity也与这个同样重写方法。

 

编完一个程序后最激动人心的莫过于运行了,首先启动我们的程序,根据Log我们可以看出执行顺序:

1、第一个界面的onStart();
2、第一个界面的onResume();
这个说明第一个Activity开始运行

 

然后我们点击第一个界面的next按钮:
1、第一个界面调用onPause();
2、第二个界面调用onStart();
3、第二个界面调用onResume();
4、第一个界面调用onStop();
这样,弹到了第二个界面,第一个界面被停止

 

点击返回按钮:
1、第二个界面调用onPause();
2、第一个界面调用onRestart();
3、第一个界面调用onStart();
4、第一个界面调用onResume();
5、第二个界面调用onStop();
6、第二个界面调用onDestroy();
这样,第二个界面被完全销毁,弹到了第一个界面

 

总结下,Activity从创建到销毁要经历这么几个形态:
onCreate()  创建一个Activity
onStart()  启动一个Activity
onResume()  继续一个Activity,是继onStart方法后会执行的方法
onPause()  暂停一个Activity,一般在跳转到另外的界面时会调用,停止当前Activity的活动
onStop()  停止一个Activity,一般在跳转到的那个界面调用onResume()后执行
onRestart()  重启一个Activity,一般在回到已经停止的界面的时候调用,然后紧接着会执行onStart()方法
onDestroy()  销毁一个Activity
也许我对Activity的生命周期的具体使用还不是很清楚,但是在以后的编程过程中一定会有更加深入的了解!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值