首先贴图一张、
我写了一个testdemo。用来测试用户的一些操作记录Activity的生命周期的变化过程。
下面是我demo里面的内容
package com.example.demo96;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.EditText;
public class TestHomeActivity extends Activity {
private EditText dt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_home);
dt = (EditText) findViewById(R.id.testcontent);
Log.d("1", "oncreate");
}
@Override
protected void onStart() {
super.onStart();
Log.d("1", "onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.d("1", "onResume");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("1", "onRestart");
}
@Override
protected void onPause() {
super.onPause();
Log.d("1", "onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.d("1", "onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("1", "onDestroy");
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.d("1", "onSaveInstanceState");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.d("1", "onRestoreInstanceState");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.test_home, menu);
return true;
}
}
布局内容很简单,就只有一个edittext。
一、按下back键。
按下back键,也就是说退出当前的activity退回到之前的activity。然后再按下按钮,跳回测试的activity。
看看在logcat里面将会打印什么内容。
二、手机熄屏时
此时我手机界面是当前测试的activity。我没有进行操作。然后手机自动熄屏了。
三、按下home键
如果我在edittext中输入了值,如果我此时我按下home键,然后在再后台打开这个app。此时,edittext的值并没有发生任何变化。那我们看看他的生命周期发生了什么变化吧。
四、关于横竖切屏,edittext的值并不发生改变。他是调用了哪个方法捏?