Android Activity 生命周期

来源:互联网 发布:逍遥西游源码 编辑:程序博客网 时间:2024/05/16 05:10

一个应用程序组件都有生命周期, 它们由android 初始化, 直到这些实例被销毁.

一个Activity 主要有三个状态:

  1. 位于当前任务栈的顶部,处于运行状态
  2. 失去焦点,但仍然对用户可见,处于暂停状态,即在它之上有另外一个Activity.仍然处于存活状态,但当系统处于极低内存的情况下,系统仍然可以杀死这个Activity
  3. 完全被另一个Activity 覆盖,处于停止状态,仍然保留所有的状态和成员信息.则系统经常杀死这种状态的ACtivity
当一个activity 从这个状态转变到另一个状态时,它被下列protected 方法所通知:
 public class Activity extends ApplicationContext {     protected void onCreate(Bundle savedInstanceState);     protected void onStart();          protected void onRestart();     protected void onResume();     protected void onPause();     protected void onStop();     protected void onDestroy(); }

Activity的生命周期:

所有的activity都必须实现onCreate()  便于对象在第一次实例化时进行初始化设置.  

大多实现onPause()方法 , 主要是在页面发生变化时,能将重要的数据持久的保存到应用程序的数据存储中.

所有的activity生命周期方法的实现都必须先调用其父类的重写方法.


我们可以看到屏幕翻转时,Android系统把ActivityLife这个Activity先杀死(具体顺序是先暂停、后关闭再销毁),然后再启动(具体顺序是先创建,后启动再恢复)。通过这个例子我们也清楚的看到了,是Android系统而不是程序员在控制Activity的生命周期。


创建a  onCreate  onStart onResume

a-b   a-onPause b-onCreate onStart onResume  a-stop

b-a  b-onPause  a-onRestart onStart  b-onStop onDestroy()

原创粉丝点击