`
daniel_tu
  • 浏览: 184190 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android中Activity的生命周期

 
阅读更多
一个activity有三种状态:
  • Running 运行状态, 此时该Activity在Android系统的Activity stack的顶端, 其实这个很好理解, 就是用户可见状态, 该Acticity是用户可以看见到的.

  • Paused 暂定状态, 此时该Acitvity依然是用户可见状态, 但是被另一个Acitivity遮盖了,这里需要注意的是, 该Acitivity依然有部分可见(并没有100%的全部被遮盖), 但是失去了焦点, 用户可见但不可操作, 常见的是Dialog出现时, 原Acitivity黑掉, 这是你依然可以看见底层Acctivity, 但是你不能进行操作(此时的焦点已经交给了Dialog).

  • Stopped 停止状态, 此时该Acitivity完全被另一个Acitivity遮盖掉, 处于完全不可见状态. 它将继续保留 all statemember information , 也就是说该对象的生命期并未结束, 这个Acitivity只是用户不可见状态, 但并未立即死亡, 它只有在手动调用 finish() 方法或系统资源不足时GC才会销毁它.

需要注意的是 停止状态 在系统看来并不表示立即销毁, 但对于开发者来说应该将其视为 死亡状态 , 因为系统可以随时GC就把它给销毁了, 可以理解为是已经判了死刑, 只是缓期执行而已, 所以不要在它身上做别的指望, 虽然这家伙还是有可以被放出来的. ( onStop()onPause() 都可能被重新回到用户可见状态, 不过中间会调用 onRestart(), 然后再重新调用 onStart() . 因此就算被放出来了, 也是个被改造的人了.

关于几个状态的流程其实官方文档中的插图已经画得很清晰了, 这里只是列出来:
  • onCreate() , 第一次创建时. 只会调用一次.

  • onStart() , 启动时, 此方法可能被 onCreate , onPause, onStop 调用.

  • onResume() 激活状态, 用户可见并可操作(该Acitivity可见并拥有焦点) .

  • onPause() → 下一步可能是 onStop() 或 onRestart() .

  • onStop() → 下一步可能是 onRestart() 或 onDestory().

  • onDestory() , 真正销毁. 调用 finish() 会调用则方法, 或被系统调用.

Note
这里需要注意的是 onPause()onStop 两个状态都可以随时被系统Kill掉其进程(连 onDesotry() 都不进入), 只要是系统资源不足.
Activity Stack

要理解多个Activity的生命周期, 只要理解Android系统的 Activities Stack 这种以 的形式来管理Activity的机制就很好理解了, 也可以很形象的视为一个Activity把另个Activity遮盖掉, 一个压一个的感觉, 类似与PS中的 的概念.

分享到:
评论

相关推荐

    Android中Activity生命周期

    android中Activity生命周期过程的详细解析

    Android activity生命周期示例

    本示例项目“Android activity生命周期示例”旨在帮助开发者深入理解Activity的生命周期及其各个阶段,这对于优化用户体验和资源管理至关重要。 Activity的生命周期包括以下几个主要状态: 1. **创建(Created)**...

    android Activity生命周期详解(图文)

    总之,深入理解Activity生命周期和其背后的源码逻辑,对于编写高效、响应迅速且用户体验优秀的Android应用至关重要。开发者应熟练掌握这些知识点,以便在设计和调试应用时能得心应手。通过实践和分析ActivityDemo,...

    Android Activity生命周期

    Android Activity 生命周期是指 Activity 从创建到销毁的整个过程,该过程中会经历多个状态变化,每个状态变化都会触发相应的回调方法。理解 Activity 生命周期是 Android 开发的基础。 在 Android 中,Activity ...

    android Activity生命周期

    Android Studio提供了多种工具帮助开发者调试Activity生命周期。例如: 1. **Android Profiler**:可以实时监控Activity的生命周期状态变化,同时分析内存、CPU和网络使用情况。 2. **Logcat**:通过打印日志,可以...

    Android Activity生命周期测试代码

    有助于深入了解Android Activity生命周期的测试代码,可以结合博客http://blog.csdn.net/freetangxiaoying/article/details/17167819领悟。

    android activity 生命周期详细介绍

    ### 一、Android Activity生命周期介绍 #### 1. onCreate() 当Activity首次创建时被调用,这是初始化Activity的最佳时机。在该方法中通常会执行一些初始化操作,比如设置布局文件、初始化UI组件等。 示例: ``` @...

    Activity生命周期与启动模式

    **Activity生命周期** Activity的生命周期包括了从创建到销毁的各个阶段,主要有以下7个关键状态: 1. **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。在这里,通常进行初始化工作,如...

    Android 中从activity1跳转到activity2再回到activity所经历的生命周期

    ### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...

    Activity生命周期演示

    日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...

    android 组件Activity生命周期

    在Android开发中,理解Activity的生命周期对于管理应用的状态和资源至关重要。Activity是构成Android应用程序的主要构建块之一,它负责提供用户界面并处理与用户交互相关的事件。Activity的生命周期由一系列回调方法...

    Android Activity生命周期,源代码下载

    Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。

    android_Activity生命周期

    Activity生命周期是Android开发中至关重要的一环,因为它决定了应用如何响应用户操作和系统事件。理解Activity的生命周期对于编写高效、稳定且用户体验良好的应用至关重要。 Activity的生命周期由多个关键状态组成...

    Android说明Activity生命周期的代码例子

    在ExmActLife这个文件中,很可能包含了不同生命周期方法的示例代码,以及模拟不同启动模式的实验,通过这些实践,开发者可以更好地理解和掌握Activity生命周期的控制,从而优化应用性能和用户体验。实践中,我们应...

    测试Android Activity生命周期Demo

    这是Activity生命周期中的最后一个方法,开发者可以在这里释放资源,解除监听器,进行最后的清理工作。 在“TestLifeActivity”这个测试项目中,开发者可能创建了一个Activity,其中覆盖了上述所有生命周期方法,并...

    实验一 第一个Android程序和Activity生命周期.zip

    实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...

    android下activity生命周期

    android下activity生命周期 生命周期: 回调 描述 onCreate() 这是第一个回调,在活动第一次创建是调用 onStart() 这个回调在活动为用户可见时被调用 onResume() 这个回调在应用程序与用户开始可交互的时候调用 ...

    Android_Activity_生命周期例子

    这是Activity生命周期的第一个回调,通常在这里进行布局加载、初始化变量和设置基本UI等操作。 2. **可见态(Started)**: `onStart()`方法标志着Activity变得对用户可见,但还没有占据屏幕的焦点。此时,Activity...

    android的Activity的生命周期

    这些状态之间的转换是Activity生命周期的核心内容。 1. **创建(Created)**: 当Activity首次被创建时,会调用`onCreate()`方法。在这个阶段,开发者应初始化Activity的基本元素,如设置布局、数据绑定等。 2. **...

Global site tag (gtag.js) - Google Analytics