快速掌握activity的生命周期

来源:互联网 发布:众途软件 编辑:程序博客网 时间:2024/04/29 15:35

activity的生命周期不管是在面试还是在工作中我们都会经常遇到,这当然也是非常基础的,基础也很重要哦,学会activity的生命周期对我们以后开发更健壮的程序会有很大帮助。下面来看一下Activity生命周期图:

 为了便于理解,我简单的写了一个Demo,不明白Activity周期的朋友们,可以亲手实践一下,大家按照我的步骤来。

 第一步:新建一个Android工程,我这里命名为MainActivity.再创建一个OtherActivity继承activity。

MainActivity.java

package com.example.demo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {private static String tag="MainActivity: ";    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                Log.i(tag, "onCreate");                Button button=(Button)this.findViewById(R.id.button1);                button.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this,OtherActivity.class);startActivity(intent);}});    }        @Override    public void onStart(){    super.onStart();    Log.i(tag, "onStart");    }        @Override    public void onResume(){    super.onResume();    Log.i(tag, "onResume");    }    @Override    public void onPause(){    super.onPause();    Log.i(tag, "onPause");    }        @Override    public void onStop(){    super.onStop();    Log.i(tag, "onStop");    }        @Override    public void onDestroy(){    super.onDestroy();    Log.i(tag, "onDestroy");    }        @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }}


OtherActivity

package com.example.demo;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;public class OtherActivity extends Activity {private static String tag="OtherActivity: ";    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_other);                Log.i(tag, "onCreate");    }        @Override    public void onStart(){    super.onStart();    Log.i(tag, "onStart");    }        @Override    public void onResume(){    super.onResume();    Log.i(tag, "onResume");    }    @Override    public void onPause(){    super.onPause();    Log.i(tag, "onPause");    }        @Override    public void onStop(){    super.onStop();    Log.i(tag, "onStop");    }        @Override    public void onDestroy(){    super.onDestroy();    Log.i(tag, "onDestroy");    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_other, menu);        return true;    }}

 

第三步:运行上述工程,效果图如下(没什么特别的):

 

核心在Logcat视窗里,看一下LogCat视窗如下:

单击'Button'按钮,跳转到了 另一个activity界面,下面让我们看看logcat:

 

OK

 

 

原创粉丝点击