`
houshijie3
  • 浏览: 9221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

android activity 生命周期

 
阅读更多

android 四大组件  其中的activity 是一个最常用的组件了

今天介绍一下它的生命周期(很实用 , 在什么方法里初始化数据,在什么方法里 回收资源 能达到最好的效果)

一个activity主要有三个状态:

  • 当在屏幕前台时(既位于当前任务堆栈的顶部),它是活跃运行的状态。它就是相应用户操作的activity(也就是面对用户的第一个界面)。
  • 当它失去焦点但仍然对用户可见时,它处于暂停状态。即是:在它之上有另外一个activity。这个activity也许是透明的,或者未能完全遮蔽全屏,所以被暂停的activity仍对用户可见。暂停的activity仍然是存活状态(它保留着所有的状态和成员信息并连接至窗口管理器),但当系统处于极低内存的情况下,仍然可以杀死这个activity(注意是上面还有一个activity ,如果是上面显示了一个alertdialog 则不是此种情况)
  • 如果它完全被另一个activity覆盖是,它处于停止状态。它仍然保留所有的状态和成员信息。然而它不在为用户可见,所以它的窗口将被隐藏,如果其它地方需要内存,则系统经常会杀死这个activity

如果一个activity处于暂停或停止状态,系统可以通过要求它结束(调用它的 finish() 方法)或直接杀死它的进程来将它驱出内存。当它再次为用户可见的时候,它只能完全重新启动并恢复至以前的状态。

当一个activity从这个状态转变到另一个状态时,它被以下列protected方法所通知:

void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()

在实际的开发中 可以重载父类方法以适应你的项目

 

一个activity 完整的生命周期 自第一次调用 onCreate()开始,直至调用onDestroy()为止。activity在onCreate()中设置所有“全局”状态以完成初始化,而在onDestroy()中释放所有系统资源。比如说,如果activity有一个线程在后台运行以从网络上下载数据,它会以 onCreate()创建那个线程,而以 onDestroy()销毁那个线程。

  • 一个activity的 可视生命周期onStart() 调用开始直到相应的 onStop()调用。在此期间,用户可以在屏幕上看到此activity,尽管它也许并不是位于前台或者正在与用户做交互。在这两个方法中,你可以管控用来向用户显示这个activity的资源。比如说,你可以在onStart() 中注册一个BroadcastReceiver 来监控会影响到你UI的改变,而在onStop() 中来取消注册,这时用户是无法看到你的程序显示的内容的。onStart()onStop() 方法可以随着应用程序是否为用户可见而被多次调用。
  • 一个activity的 前台生命周期onResume() 调用起,至相应的 onPause()调用为止。在此期间,activity位于前台最上面并与用户进行交互。activity会经常在暂停和恢复之间进行状态转换──比如说当设备转入休眠状态或有新的activity启动时,将调用onPause() 方法。当activity获得结果或者接收到新的intent的时候会调用onResume() 方法。 

  ----------------------------------------------------

例如:

当一个activity启动了另外一个的时候,它们都会经历生命周期变化。一个会暂停乃至停止,而另一个则启动。这种情况下,你可能需要协调好这些activity

生命周期回调顺序是已经定义好的,尤其是在两个activity在同一个进程内的情况下:

1.  调用当前activity的 onPause() 方法。

2.  接着,顺序调用新启动activity的onCreate()onStart()onResume()方法。

然后,如果启动的activity不再于屏幕上可见,则调用它的onStop()方法

 

以上内容 为资料上考的,是基础的东西,加上了自己一点点的理解,但是越是基础越重要

 

 

分享到:
评论

相关推荐

    Android Activity生命周期

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

    android Activity生命周期

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

    Android Activity 生命周期

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

    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