现在的位置: 首页 > 综合 > 正文

Android学习第一天–Activity生命周期

2013年02月02日 ⁄ 综合 ⁄ 共 1492字 ⁄ 字号 评论关闭

 Activity生命周期是交给Android系统自己维护的

       在android中Activity拥有四种状态:

            1、Active/Running:

              一个新的Activity启动入栈中后,它在屏幕的最前端,处于栈顶,界面中位可见并且可以和用户进行交互

               的激活状态

                 If an activity in the foreground of the screen(at top of the stack) ,it is active                                   or running.

             2、Paused

               当activity被另一个透明的或者Dialog样式的Activity覆盖时的状态,此时,他依然与窗口管理器保持连接,

               系统继续维持其内部状态,因此他仍然是可见的,但它已经失去了焦点不能与用户进行交互(但是被窗口管理器管
               理),而且在系统资源极度紧缺的时候可能被系统kill掉.

             3、Stop

                当Activity被另外一个Activity完全覆盖,失去焦点,并不可见的时候处于Stop状态,但是他仍然保存一些信                   息,但是不能被用户看见(窗口管理器将他除名),而且极易容易被系统杀掉.

             4、Killed

                Activity被系统杀死回收或者为启动时的状态  

             当一个Activity实例被创建、销毁或者启动另一个Activity时,它在四种状态之间进行转换,

             这种转换依赖于用户程序的动作。

         Activity的状态转换图

                     



 Tips:Activity.finish()方法调用之后并不是立即执行onDestory()

             方法销毁Activity,只是告诉Activity Manager当前的Activity

             完成了相应的工作,可以被系统回收。至于何时被系统回收,有系统自己完成。和返回键一样的效果。

     ☞

       Android是通过一种Activity栈的方式来管理Activity的,一个activity的实例的状态决定了他在栈中的位置。前台的          activity总是位于栈顶,当前台的activity因为异常等原因被销毁,处于栈第二层

的activity被激活,并且上浮到顶部,当新的activity启动的时候

原activity会被压入打栈的第二层,处于栈底的activity实例更容易被系统回收

     Activity生命周期

         public class OurActivity extends Activity { 

          protected void onCreate(Bundle savedInstanceState); 

          protected void onStart(); 

          protected void onResume(); 

          protected void onPause(); 

          protected void onStop(); 

          protected void onDestroy(); 

          }

    各个方法调用的时间

  

    


抱歉!评论已关闭.