Activity的生命周期图
运行效果图
activity_main.xml文件修改:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="wrap_content"
android:text="Activity的生命周期方法测试" />
</LinearLayout>
修改MainActivity.java文件,如下:
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
private static final String TAG = "Activity Life Cyle";//LogCat提示信息的显示内容
//1.创建此Activity的时候回调,初始化内容
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e(TAG, "onCreate");//Error级别,终止程序,红色
Log.w(TAG, "W_onCreate");//Warn级别,不会终止程序,但会影响结果,橙色
Log.d(TAG, "D_onCreate");//Debug级别,打印log,蓝色
Log.i(TAG, "I_onCreate");//Info级别,系统信息提示,绿色
Log.v(TAG, "V_onCreate");//Verbose级别,最低的提示信息,黑色
}
//2.当使用此Activity接受用户操作的时候回调,设置监听事件,onStop()-->>onRestart()-->>onStart()
@Override
protected void onStart() {
super.onStart();
Log.e(TAG, "onStart");//当开始的时候显示的提示信息
}
//3.当显示展示此Activity的界面的时候回调,设置Activity内容
@Override
protected void onResume() {
super.onResume();
Log.e(TAG, "onResume");//当显示的时候提示的信息
}
//4.当暂停此Activity的时候回调,输入数据
@Override
protected void onPause() {
super.onPause();
Log.e(TAG, "onPause");//当暂停的时候提示的信息
}
//5.当停止此Activity的时候回调,回收该Activity的内存
@Override
protected void onStop() {
super.onStop();
Log.e(TAG, "onStop");//当停止对额时候提示的信息
}
//6.当杀死Activity的时候回调,释放全部内存
@Override
protected void onDestroy() {
super.onDestroy();
Log.e(TAG, "onDestroy");//当结束的时候提示的信息
}
}
在Activity的回调函数中还有两个回调函数会经常用到.onSaveInstanceState():在Activity关闭的时候调用,一般进行页面中用户输入数据的保存;
onRestoreInstanceState():在Activity启动的时候调用,一般功能是恢复关闭之前保存的用户输入的数据.