`
byandby
  • 浏览: 1696304 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android Activity生命周期

阅读更多
Activity生命周期



方法名称 描述 Killable?(能否被杀掉) 下一个调用的方法
onCreate()
当这个Activity第一次被创建的时候,调用此方法。这个方法通常用于:1、为Activity设置所要使用的布局文件2、为按钮绑定监听器等静态的设置操作。 No onStart()

onStart()
当Activity处于可见状态时,调用此方法。 No onResume()
or onStop()

onResume()
开始与用户进行交互时(能够获得用户焦点,可以进行点击等操作的时候),调用此方法。 No onPause()

onRestart()
之前被停止,现在重新启动,调用此方法。 No onStart()

onPause()
当系统启动另外一个新的Activity时,先调用前一个Activity的此方法。这个方法通常用于:保存现有的Activity中的数据、停止动画等,这个实现方法必须非常快。 Yes onResume()
or
onStop()

onStop()
当Activity处于不可见状态时(现有的Activity被新的Activity完全覆盖时),调用之前Activity的此方法。
注:如果只是在现有的Activity中弹出一个对话框,没有完全覆盖现有的Activity的话是不会调用此方法的。示例请看Activity生命周期(二)。 Yes onStart()
or
onDestroy()

onDestroy()
销毁Activity。
有两种情况会对Activity进行销毁:1、在系统不足以支撑现有的应用程序的情况下,系统会关闭(销毁)掉一部分系统认为不必要的Activity,以节省空间。2、程序中手动调用finish()方法进行销毁。 Yes nothings
关于能否被杀掉:当一个Activity调用了onPause()、onStop()或onDestroy()方法(Killable?为Yes的方法),而系统在一定情况下(如系统不足以支撑现有的应用程序的情况下),会先关闭(销毁)掉这部分Activity。

示例1:创建一个Android应用程序,写两个Activity,都实现以上7个方法,通过从第一个Activity跳转到第二个Activity,然后点击模拟器右侧的返回按钮,根据应用程序中输出的内容观察Activity的生命周期。

在这里顺便大致记录一下开发步骤:
1、创建一个Android应用程序
2、写两个Activity(FirstActivity、SecondActivity),都实现以上7个方法,并都输出一句语句。
3、因为要从FirstActivity跳转到SecondActivity,所以要在FirstActivity的布局文件中添加一个按钮,并且要写一个监听器,为按钮绑定OnclickListener事件。
4、不要忘记将新创建的Activity添加到AndroidManifest.xml文件中。
5、然后运行程序观察。
(这里只大致讲了一下开发流程没有将具体的代码贴出来,现在将程序打包了,有需要的可在附件中下载)

运行程序:
1、当程序刚开始运行FirstActivity的时候,控制台输出以下内容:



从控制台输出内容来看,程序先执行了FirstActivity的onCreate()方法,然后再依次执行了onStart()、onResume()方法。
2、当点击FristActivity上的按钮时,控制台输出以下内容:



从控制台输出内容来看,程序先调用了FirstActivity的onPause()方法,然后再一次调用了SecondActivity的onCreate()、onStart()、onResume()方法,最后调用了FirstActivity的onStop()方法。
3、点击模拟器右侧的返回按钮,控制台输出以下内容:



从控制台输出内容来看,程序先调用了SecondActivity的onPause()方法,然后再依次调用了
FirstActivity的onRestart()、onStart()、onResume()方法,再调用了SecondActivity的onStop()、onDestroy()方法。
注意:当点击返回的时候,这里调用的不是FirstActivity的onCreate()方法而是onRestart()方法,因为在之前FirstActivity已经被创建过了并且没有销毁,只要当FirstActivity销毁了再调用FirstActivit y的时候才会调用onCreate()方法。

上面在描述onStop()方法的时候有说到,只有当Activity处于不可见状态,完全被新的Activity覆盖时才会调用之前Activity的此方法。如果只是在现有的Activity上弹出一个对话框,没有完全覆盖现有的Activity,那么是不会调用此方法的。
下面在示例1的基础上进行修改,将SecondActivity修改成对话框形式进行显示,来看一下Activity的生命周期。
对话框形式的Activity与普通Activity没太大区别,只需要将AndroidManifest.xml文件中的对应的Activity标签增加以下这么一个属性即可。
android:theme="@android:style/Theme.Dialog"
(示例2源码也在附件中,有需要的可下载进行运行查看。)
运行程序的时候控制台输出:



点击FristActivity上的“启动SecondActivity”按钮,弹出SecondActivity的对话框,控制台输出以下内容:



根据输出内容可观察到,与示例1相比,该应用程序没有运行FristActivity的onStop()方法。
所以,只有现有的Activity被新的Activity完全覆盖的时候,才会调用之前Activity的onStop()方法。


此笔记参考的是[Android开发视频教学]这套视频,有需要的可以在网上下载此视频噢。
  • 大小: 64.6 KB
1
0
分享到:
评论

相关推荐

    Android Activity生命周期

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

    Android Activity 生命周期

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

    android activity 生命周期

    #### 三、Activity生命周期方法详解 - **`onCreate()`**:这是Activity的第一个生命周期方法,当Activity被创建时调用。开发者通常在此处初始化UI组件并设置布局。此外,还可以进行一些必要的初始化操作,如读取...

    Android activity生命周期示例

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

    android activity 生命周期详细介绍

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

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

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

    Android Activity生命周期测试代码

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

    测试Android Activity生命周期Demo

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

    两分钟彻底让你明白Android Activity生命周期(图文)

    两分钟彻底让你明白Android Activity生命周期(图文)

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

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

    android Activity 生命周期的理解

    在Android应用开发中,理解Activity生命周期是非常重要的,因为它直接影响到应用程序的行为、性能以及用户体验。本文档将详细介绍Activity的生命周期,并通过两个示例帮助读者更好地理解和掌握这些概念。 #### ...

    android Activity 生命周期

    在Android应用开发中,Activity是用户界面的基本组件,它负责与用户进行交互。理解Activity的生命周期对于编写...通过阅读源码和使用工具,如Android Studio的调试器,可以更深入地理解Activity生命周期的运作机制。

    android activity生命周期示例代码

    android activity生命周期示例代码。里面包含activity执行finish之后的生命周期,旋转的生命周期。切换以及返回activity的生命周期。我的博客地址:http://blog.csdn.net/qq_16064871

    android activity生命周期实例

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

    Android Activity生命周期测试程序

    这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、初始化数据等。 2. **可见状态(Started/Resumed)**:`onStart()`在Activity变得对用户可见时调用,但用户还不能与其交互。接着,`...

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

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

Global site tag (gtag.js) - Google Analytics