`
nanjingjiangbiao_T
  • 浏览: 2605596 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android开发---Activity的生命周期

 
阅读更多
   在Android开发中,第一步学习的应该是最基础的东西,即Activity的声明周期,相信Activity对于从事Android开发的朋友都很熟悉,这里作者不多做解释。Android的生命周期可以用如下所示的图来说明(此图来自Android Developer官网):
由图示可以看出,Android应用程序从运行到结束要先后经历六个过程,第一个:onCreate()就是对应用程序进行初次创建所回调的函数,一般在这个函数中初始化应用程序的界面,第二个和第三个分别是启动应用时所回调的函数,之后应用程序进入Activity running状态。
接着如果有其他的Activity挡住前一个Activity,但是并没有完全挡住的时候,即前一个Activity失去了焦点,此时onPause()回调,当另一个Activity完全挡住前一个Activity的时候,此时回调函数onStop(),如果此时退出程序或者是调用函数finish(),那么Activity进入onDestory()阶段,图中的反向箭头指的是在某一种情况下的Activity的反应,在这里不多做解释。
为了更清楚的说明这个问题,一下是测试代码,以供参考:
public class Life_Test extends Activity {
	private Button button;
	private Button button2;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_life__test);
		Log.d("Debug", "onCreate");
		button=(Button)findViewById(R.id.button1);
		button2=(Button)findViewById(R.id.button2);
		button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder=new Builder(Life_Test.this);
				builder.setTitle("Test...");
				builder.setMessage("This is Test_Dialg..");
				builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
					dialog.dismiss();
					}
				});
				builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
					dialog.dismiss();	
					}
				});
				builder.show();
			}
		});
		button2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
			final Intent intent=new Intent(Life_Test.this,Activity02.class);
			startActivity(intent);
			}
		});
	}

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

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

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

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

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

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

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_life__test, menu);
		return true;
	}

}
public class Activity02 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity02);
		Log.d("Debug2", "------>oncreate");
		
	}

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.d("Debug2", "------>onstart");
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.d("Debug2", "------>ondestory");
	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		Log.d("Debug2", "------>onpause");
	}

	@Override
	protected void onRestart() {
		// TODO Auto-generated method stub
		super.onRestart();
		Log.d("Debug2", "------>onrestart");
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Log.d("Debug2", "------>onresume");
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Log.d("Debug2", "------>onstop");
	}

}

到此Activity的生命周期就介绍完毕了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics