`
yangshen998
  • 浏览: 1302305 次
文章分类
社区版块
存档分类
最新评论

android组件之Activity生命周期

 
阅读更多

Activity生命周期

首先我们来看一张图,我对上面的一些方法在图片上写了一些自己的理解

除了图上的方法外还有两个重要的方法

onSaveInstanceState()和onRestoreInstanceState()

onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”将要销毁你的activity时,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据。

onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时候,用户按下HOME键回到主界面,然后用户紧接着又返回到activity A,这种情况下activity A一般不会因为内存的原因被系统销毁,故activity A的onRestoreInstanceState方法不会被执行

另外,onRestoreInstanceState的bundle参数也会传递到onCreate方法中,我们也可以选择在onCreate方法中做数据还原。

现在让我们分别在几种不同的情况下来测试Activity生命周期中各方法是怎么调用的,一个测试Activity生命周期的应用程序界面:

1、

1)运行Activity :

onCreate()-->onStart()-->onResume()

2)点击返回键:

onPause()-->onStop()-->onDestroy()

2、

1)运行Activity

onCreate()-->onStart()-->onResume()

2)点击Home(小房子形状)

onSaveInstanceState()-->onPause()-->onStop()

3)长按Home重新返回到Activity中:

onRestart()-->onStart()-->onResume();

4)点击返回键:

onPause()-->onStop()-->onDestroy()

3、

1) 运行Activity

onCreate()-->onStart()-->onResume();

2)切换到另外一个Activity(SecondActivity)时,原Activity:

onSaveInstanceState()-->onPause()-->onStop()

①:按 返回键返回到第一个Activity时,第一个Activity:

onRestart()-->onStart()-->onResume();

②:在第二个Activity中通过Button控件跳转回第一个Activity时:

onCreate()-->onStart()-->onResume();

4、

创建对话框样式的DialogActivity时Activity生命周期的状态:

1)运行Activity:

onCreate()-->onStart()-->onResume();

2)点击Show My Dialog按钮切换至DialogActivity,第一个Activity状态:

onSaveInstanceState()-->onPause();


我们可以看到DialogActivity是半透明的,第一个Activity是可见的。

3)按返回键返回第一个Activity:

onResume();

5、

创建AlterDialog退出提示对话框

当县级Show a real Dialog对话框并返回,此时不能触发Activity实例的状态变化,也不会调用其生命周期中任何函数:

但点击确定退出程序时:

onPause()-->onStop()-->onDestroy();


这就是在这几种情况下Activity的生命周期。

分享到:
评论

相关推荐

    android 组件Activity生命周期

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

    Android Activity生命周期

    此外,Activity 生命周期还与其他组件的生命周期相关,例如 Fragment、Service 等。理解 Activity 生命周期是 Android 开发的基础,掌握了 Activity 生命周期,可以更好地开发 Android 应用程序。 在实际开发中,...

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

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

    android启动以及activity生命周期分析

    ### Android启动及Activity生命周期分析 在Android开发过程中,理解应用程序如何启动及Activity的生命周期是非常重要的。这不仅有助于我们更好地管理程序的状态,还能帮助我们在遇到内存泄漏等问题时进行快速定位和...

    android activity 生命周期详细介绍

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

    Activity生命周期与启动模式

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

    Android课程第一次实验报告_Andorid应用程序Activity生命周期.docx

    本实验报告将深入探讨Android应用程序,尤其是Activity、Service和Intent Receiver的生命周期,并解释如何正确管理这些组件以避免不必要的进程销毁。 首先,Android应用通常在独立的Linux进程中运行。当应用需要...

    Android组件的生命周期

    #### 二、Activity生命周期详解 Activity是Android应用程序中最常见的组件之一,其生命周期包括多个状态: - **Activity的基本状态**: - **Active状态**:运行在屏幕的前台,接受用户操作。 - **Paused状态**:...

    android Activity生命周期

    在本篇文章中,我们将深入探讨“Android Activity生命周期”及其相关知识点。 首先,Activity的生命周期包括几个主要状态:初始状态(创建)、可见状态、前台运行状态、后台状态和销毁状态。这些状态之间的转换是由...

    Android_Activity_生命周期例子

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

    Android开发 - Activity生命周期

    这篇博客文章“Android开发 - Activity生命周期”(链接:https://zzqrj.iteye.com/blog/1124449)可能详细讲解了Activity在不同状态之间的转换及其对程序行为的影响。 Activity生命周期主要涉及以下几个关键状态:...

    测试Android Activity生命周期Demo

    本示例“测试Android Activity生命周期Demo”旨在通过实际代码帮助开发者理解并掌握Activity的生命周期,这对于创建稳定、高效的Android应用至关重要。 Activity的生命周期包括了多个关键状态,如初始化、启动、...

    Android学习3——Activity生命周期

    在“Android学习3——Activity生命周期”这个主题中,我们将深入探讨Activity如何启动、运行、暂停、停止以及销毁,并了解每个状态之间的转换。 Activity生命周期主要包括以下几个关键状态: 1. **初始状态...

    android的Activity的生命周期

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

    android_Activity生命周期

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

    android activity生命周期实例

    理解并掌握Activity生命周期对于编写稳定、响应迅速的Android应用至关重要。合理处理生命周期方法中的回调,可以确保在状态切换时正确保存和恢复用户数据,同时优化性能和用户体验。在实际开发中,开发者还需要考虑...

    activity生命周期

    这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、数据绑定等。 2. **启动(Started)**:`onStart()`方法标志着Activity可见但可能不完全在前台。用户可以看到Activity,但不能与其交互...

    测试Activity生命周期

    "测试Activity生命周期"的DEMO旨在帮助开发者直观地了解和调试Activity在不同场景下的状态变化。在这个DEMO中,我们可以通过观察日志输出或使用Android Studio的调试工具来跟踪Activity的状态。 Activity的生命周期...

    Android Activity 生命周期

    Android Activity生命周期是Android应用开发中的核心概念,理解并掌握它对于构建高效、用户友好的应用程序至关重要。Activity作为Android系统中的一个关键组件,代表着用户界面的一个独立屏幕,它有自己的生命周期,...

    Android Activity 生命周期(lifecycle)的研究

    在研究Activity生命周期时,源码分析是非常重要的一环。开发者可以通过查看Android框架的源代码,了解系统是如何调用这些回调方法的。例如,可以研究ActivityThread类中的handleCreateActivity()、...

Global site tag (gtag.js) - Google Analytics