Activity生命周期
Activity是一个用来提供用户交互界面的组件,它是四大组件之一,对于我们刚刚学习android的菜鸟来说是非常重要的,我们可以将一个屏幕理解为一个Activity,Activity通常是一个全屏的界面,每一个应用程序可以有一个或多个Activity,这里需要注意的是每一个Android应用都需要有一个入口Activity,也就是“MainActivity”,它作为程序的入口,就像Java应用中的main()方法一样,当然与java中main()方法的名称特定性不同,Android中入口Activity的名称可以由程序员自行定义,只是需要在项目配置文件AndroidManifest.xml中将其配置为入口Activity即可。
它也同一个线程一样是有生命周期的,下面看一下它的生命周期:
Activity共有以上7中状态,下面看以代码来理解各种状态之间的转化
MainActivity.java
下面看一下主要的代码:
public class MainActivity extends Activity {
private Button btn;
/*
*Activity四种状态
* 1运行态
* 2暂停态
* 3停止态
* 4终止态
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("1----onCreate");
btn = (Button) findViewById(.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(MainActivity.this,Act2.class);
startActivity(i);
}
});
}
@Override
protected void onStart() {
System.out.println("1----onStart");
super.onStart();
/*Log.i("1", "info");
Log.d("2", "debug");
Log.v("3", "verbose");
Log.e("4", "error");
Log.w("5", "warning");*/
}
@Override
protected void onResume() {
System.out.println("1---onResume");
super.onResume();
}
@Override
protected void onPause() {
System.out.println("1----onPause");
super.onPause();
}
@Override
protected void onStop() {
System.out.println("1---onStop");
super.onStop();
}
@Override
protected void onRestart() {
System.out.println("1---onRestart");
super.onRestart();
}
@Override
protected void onDestroy() {
System.out.println("1---onDestroy");
super.onDestroy();
}
}Act2.java
public class Act2 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.act2);
super.onCreate(savedInstanceState);
System.out.println("2---onCreate");
}
@Override
protected void onStart() {
System.out.println("2----onStart");
super.onStart();
/*Log.i("1", "info");
Log.d("2", "debug");
Log.v("3", "verbose");
Log.e("4", "error");
Log.w("5", "warning");*/
}
@Override
protected void onResume() {
System.out.println("2---onResume");
super.onResume();
}
@Override
protected void onPause() {
System.out.println("2----onPause");
super.onPause();
}
@Override
protected void onStop() {
System.out.println("2---onStop");
super.onStop();
}
@Override
protected void onRestart() {
System.out.println("2---onRestart");
super.onRestart();
}
@Override
protected void onDestroy() {
System.out.println("2---onDestroy");
super.onDestroy();
}
}另外两个配置文件的代码如下:
MainActivity.xml
<RelativeLayout xmlns:android="http:///apk/res/android"
xmlns:tools="http:///tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textView1"
android:layout_marginLeft="72dp"
android:layout_toRightOf="@+id/textView1"
android:text="BUTTON" />
</RelativeLayout>act2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:///apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World" />
</LinearLayout>运行结果如下:
运行时状态如下所示:

![WH436ASW{BINHPQANN%G1]K.jpg androidActivity生命周期_Android的Activity生命周期_02](https://s2.51cto.com/attachment/201308/175426822.jpg?x-oss-process=image/resize,m_fixed,w_1184)




















