Android Activity类讲解(一)

时间:2014-06-07 04:37:51   收藏:0   阅读:404

--by CY[kotomifi@gmail.com]

1.protected void onCreate(Bundle savedInstanceState) { throw new RuntimeException("Stub!");   }

  当创建一个Activity时,系统会自动调用onCreate方法来完成创建工作.该创建工作包括布局,监听器的绑定等.

  首先说一下Bundle 这个类,Bundle是一个键值对,跟Map类似,两个Activity之间的通信可以用Bundle类来实现.

  Bundle savedInstanceState对象则是保存程序上一次关闭(冻结)时的状态,也可以通过重写onFreeze方法来保存冻结前的状态.当程序启动(Activity 重新初始化时),会再次调用onCreate方法,从savedInstanceState中获取前一次的冻结状态,可以通过Bundle来将这一个Activity 中的内容传到下一个Activity 中.

  当一个Activity 结束前需要保存状态,就保存在savedInstanceState中,当其它Activity创建时,就能从中获得数据.

 

2.protected void onSaveInstanceState(Bundle outState) { throw new RuntimeException("Stub!");    }

  Android中的Activity通过onSaveInstanceState()方法保存Activity的状态,在onCreate或者onRestoreInstanceState方法中哦功能恢复,如果是通过onRestart方法运行,则只会执行onSaveInstanceState方法.

  图1-1是android Activity的生命周期.

  bubuko.com,布布扣

  图1-1

 

3. protected void onRestoreInstanceState(Bundle savedInstanceState) { throw new RuntimeException("Stub!"); }

  解释见第2条

4.protected void onRestart() { throw new RuntimeException("Stub!");    }

  解释见第2条

5. protected void onStart() { throw new RuntimeException("Stub!");    }

  下面来结合来说一下onCreate, onStart, onResume, onPause, onRestart, onStop, onDestroy方法.当启动一个Activity时,系统会依次调用onCreate, onStart, onResume方法.

  从activity1启动activity2时,会先调用activity1的onPause方法,然后再调用activity2的onCreate, onStart, OnResume方法,若要完全覆盖activity1,则最后再调用activity1的onStop方法.

  

 onCreate方法:

 onStart方法:

 onResume方法:

 onPause方法:

 onRestart方法:

  onStop方法:

 onDestroy方法:

Android Activity类讲解(一),布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!