androidActivity生命周期

Activity生命周期

Activity是一个用来提供用户交互界面的组件,它是四大组件之一,对于我们刚刚学习android的菜鸟来说是非常重要的,我们可以将一个屏幕理解为一个ActivityActivity通常是一个全屏的界面,每一个应用程序可以有一个或多个Activity,这里需要注意的是每一个Android应用都需要有一个入口Activity,也就是“MainActivity”,它作为程序的入口,就像Java应用中的main()方法一样,当然与javamain()方法的名称特定性不同,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(R.id.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://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/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://schemas.android.com/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>

运行结果如下:

 

运行时状态如下所示:

你可能感兴趣的:(androidActivity生命周期)