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

在android中Activity拥有四种状态:

1、Active/Running:

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

的激活状态

Ifanactivityintheforegroundofthescreen(attop ofthestack),itisactive orrunning.

2、Paused

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

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

3、Stop

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

4、Killed

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

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

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

Activity的状态转换图






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

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

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

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

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

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

Activity生命周期

publicclassOurActivityextendsActivity{

protectedvoidonCreate(BundlesavedInstanceState);

protectedvoidonStart();

protectedvoidonResume();

protectedvoidonPause();

protectedvoidonStop();

protectedvoidonDestroy();

}

各个方法调用的时间



更多相关文章

  1. 浅谈android的selector背景选择器
  2. 详解 Android(安卓)的 Activity 组件
  3. Android(安卓)context(Application/Activity)与内存泄露
  4. Android(安卓)ToggleButton Example--开关按钮
  5. StevGuo系列文章翻译之Android电源管理
  6. 浅谈android的selector背景选择器
  7. android中禁止横屏和竖屏切换
  8. Android(安卓)UI 之systerm Bar 以及状态栏透明相关的知识点
  9. Android(安卓)application context/activity context与内存泄露

随机推荐

  1. monkey的基本定义及基本使用(菜鸟学习中)
  2. android sqllite数据库的多表联合查询
  3. Android开发中textStyle=”bold”无效的
  4. Android监听器的实现方法
  5. Android中默认不弹出输入法软键盘
  6. android EditText控件如何禁止往里面输入
  7. MPAndroidChart 教程:动画 Animations(十)
  8. AS插件之Android(安卓)Drawable Importer
  9. android 在当前的布局上加载xml填充内部
  10. Android(安卓)Fragment与activity交互方