您的位置:首页 > 其它

关于Activity生命周期的分析

2015-09-09 10:02 495 查看
首先贴图一张、



我写了一个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的值并不发生改变。他是调用了哪个方法捏?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息