Activity的生命周期是一个比较复杂的,主要是它存在很多中状态,以前还没有搞清楚Activity到底是做什么的,有些事情想不清楚 可以暂时不研究 但是不能不去想 不去想你永远也学不会?
?
Activity生命周期:
Ativity从产生到销毁的全部过程
<!--[if !supportLists]-->1.<!--[endif]-->Activity的四个状态:
? a,<!--[if !supportLists]-->活动状态
Activity处于用户界面的最上层,能够被用户看到,并能和用户交互
b,<!--[if !supportLists]-->暂停状态
Activity在界面上被部分遮挡,用户能够看到,但该Activity不再处于界面的最上层。不能和用户交互
c,<!--[if !supportLists]--><!--[endif]-->停止状态
Activity完全被另外一个Activity遮挡住,用户看不到非活动状态
d ,<!--[if !supportLists]--><!--[endif]-->非活动状态
?
图片方法详解;
onCreate(Bundle?savedInstanceState) 创建
?
初始化函数,Activity启动后第一个被调用的函数
?
onstart() 开始
?
当Activity显示在屏幕上的时候调用
?
void?onResume(); 用户交互
?
当Activity能够与用户交互时,该函数调用,此时的Activityvch处于Activity栈顶
?
void?onPause(); 暂停
?
当Activity进入暂停状态,被调用,一般用来保存持久的数据或释放占用的资源
?
void?onStop(); 停止
?
当Activity进入停止状态时被调用,将数据持久化保存
?
void?onDestroy(); 销毁
?
当Activity被终止前,即进入非活状态前,被调用
?
void?onRestart();? 重新启动
?
当Activity从停止状态进入活动状态前,调用该函数
?
测试关于Activity生命周期 关键代码如下;
public class MainActivity extends Activity {
?
?private TextView text;
?@Override
?protected void onCreate(Bundle savedInstanceState) {
??super.onCreate(savedInstanceState);
??setContentView(R.layout.activity_main);
??Log.i("tag","onCreate");
??text=(TextView)findViewById(R.id.userbtn);
?}
?
?@Override
?protected void onStart() {
??super.onStart();
??Log.i("tag","onstrat");
?}
?
?@Override
?protected void onPause() {
??// TODO Auto-generated method stub
??Log.i("tag","onPause");
??super.onPause();
?}
?@Override
?protected void onRestart() {
??// TODO Auto-generated method stub
??super.onRestart();
??Log.i("tag","onRestart");
?}
?@Override
?protected void onResume() {
??// TODO Auto-generated method stub
??super.onResume();
??Log.i("tag","onResume");
?}
?
?@Override
?protected void onStop() {
??// TODO Auto-generated method stub
??super.onStop();
??Log.i("tag","onStop");
?}
?
?
?@Override
?protected void onDestroy() {
??// TODO Auto-generated method stub
??super.onDestroy();
??Log.i("tag","onDestroy");
?}
}
1,进入页面时;
?12-27 20:38:27.965: I/tag(26685): onCreate
????12-27 20:38:27.965: I/tag(26685): onstrat
??? 12-27 20:38:27.966: I/tag(26685): onResume
2,手机锁屏时;界面会处于停止状态
12-27 20:40:06.494: I/tag(26685): onPause
12-27 20:40:06.522: I/tag(26685): onStop
3,解锁; 重新启动
12-27 20:41:01.934: I/tag(26685): onRestart
?? 12-27 20:41:01.934: I/tag(26685): onstrat
?? 12-27 20:41:01.938: I/tag(26685): onResume
4,切换到横屏时: 会重新创建一个新的Activity12-27 20:43:17.127: I/tag(26850): onPause
12-27 20:43:17.128: I/tag(26850): onStop
12-27 20:43:17.128: I/tag(26850): onDestroy
12-27 20:43:17.273: I/tag(26850): onCreate
12-27 20:43:17.273: I/tag(26850): onstrat
12-27 20:43:17.277: I/tag(26850): onResume
5,返回时;12-27 20:44:32.756: I/tag(26850): onPause
12-27 20:44:33.233: I/tag(26850): onStop
12-27 20:44:33.233: I/tag(26850): onDestroy
?
?
?
?
?
原文:http://baihe747.iteye.com/blog/2170617