Android--Activity的生命周期(二)

1、Activity的工作原理

在我们的应用程序中,当存在多个Activity切换时,他们如何切换的。在上一个文章中,我们知道了Activity生命周期的几个函数,当Activity中发生跳转时,这些函数的执行过程。

在这篇文章中,想继续深入下,探讨下activity的工作原理。

当我们FirstActivity跳转到SecondActivity中去,然后在SecondActivity中按下back键,又返回到FirstActivity中,这种后进先出的方式,是不是和数据结构中的Stack类似。

看下相应的文档,果不其然,activity内部原理就是Stack的方式。

下面这幅图,就是activity的工作原理:

  • 当前程序没启动时,就如图1所示的一样,是一个空的。
  • 程序启动之后,默认启动的Activity就会添加进来,假如为FirstActivity,如果在FirstActivity中发生跳转到SecondActiviy,则把SecondActivity入栈。在SecondActivity中又跳转到ThirdActivity中,再把ThirdActivity入栈。
  • 如果在ThirdActivity中点击back退出,则弹出ThirdActivity,回到SecondActivity,以此类推。
  • 注意,这里可能会存在一个特殊的情况,如果activity不back退出的话,按理说应该会保存在stack中的。但是我们手机的内存是有限的,很可能会因为打开的应用太多,造成系统销毁不活动的activity。举例来说,如上图2,当前的是ThirdActivity,而FirstActivity和SecondActivity是在不活动的状态下,假如在这时内存不够了,就会释放FirstActivity或者SecondActivity的内存,来供程序正常运行。至于怎么释放,还要看操作系统的调度机制。

2、上一篇文章的补充

在上一篇文章中举例说明了,当一个activity在跳转另一个activity中的执行过程。其实在官方的文档中,给出了一个图:

上图详细的说明了activity的生命周期,看图还是比较简单明了的。

当然自己动手重写那几个函数试一试,会加深下印象。

时间: 2024-10-04 11:56:18

Android--Activity的生命周期(二)的相关文章

Android Activity的生命周期简单总结

Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个生命周期,我们应该处理的内容. Activity 各个生命周期 由图可以看出 ,在一个activity的生命周期中,系统会像金字塔模型一样去调用一系列的生命周期回调函数.在最上端是当前Activity的运行状态,也就是说用户彻底看到这个Activity时,Activity正处于onResume()状

Android Activity Fragment 生命周期

从开源项目中看到 这个,就不由自主的收藏了~ https://github.com/xxv/android-lifecycle Android Activity Fragment 生命周期

Android——Activity的生命周期

一,Demo测试Activity的生命周期 写两个Activity: package com.example.activity_04; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; im

从零开始学android<ACtivity的生命周期.三十九.>

意图是指两个UI主界面的转换,要想了解意图就必须学习ACtivity的生命周期 默认在UI界面显示的为运行为运行状态,而在后台的为onPause方法 主线: OnCreate()--> OnStart() --> OnResume() -->OnPause()-->OnStop ()-->OnDestroy() 副线: OnCreate()--> OnStart() --> OnResume() -->OnPause()-->OnStop ()--&g

4、Android Activity的生命周期 Activity的生命周期

1.完整生命周期 上图是Android Activity的生命周期图,其中Resumed.Paused.Stopped状态是静态的,这三个状态下的Activity存在时间较长. (1)Resumed:在此状态时,用户可以与Activity进行交互,Activity在最前端 (2)Paused:在此状态时,Activity被另外一个Activity遮盖,此Activity不可接受用户输入信息.另外一个Activity来到最前面,半透明的,但并不会覆盖整个屏幕. (3)Stopped:在此状态时,A

Android:Activity的生命周期

Activity的生命周期 oncreate:Activity对象创建完毕,但此时不可见 onstart:Activity在屏幕可见,但是此时没有焦点 onResume:Activity在屏幕可见,并且获得焦点 onPause:Activity此时在屏幕依然可见,但是已经没有焦点 onStop:Activity已经不可见了,但是此时的Activity的对象还在内存中 onDestroy:Activity对象被销毁

android Activity 的生命周期 以及横屏竖屏切换时 Activity 的状态变化

生命周期Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情.例举了 7 个常用的钩子:protected void onCreate(Bundle savedInstanceState)protected void onStart()protected void onResume()protected void onPause()protected void onStop()protected void onRestart()protecte

android开发学习笔记(二)-activity的生命周期

一:activity的生命周期: 二:created->resumed 当一个应用程序的启动图标被用户点击后,应用程序开始从Activity的onCreate()方法开始执行.(当有多个activity文件时,执行Manifest文件中指定的主activity文件). 当执行完onCreate()方法后,迅速调用onStart(),onResume()方法,用户就可以进行相关的操作. 在onCreate()方法中尽量少执行操作,防止程序运行很久都进入不了界面. 三:Resumed->Pause

(Android学习系列)二,窗口(Activity)的生命周期

在Activity从创建到销毁的过程中需要在不同的阶段调用7个生命周期的方法这7个生命周期方法定义如下: protected void onCreate(Bundle savedInstanceState) protected void onStart() protected void onResume() protected void onPause() protected void onStop() protected void onRestart() protected void onDe

Android开发艺术探索——第一章:Activity的生命周期和启动模式

Android开发艺术探索--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activity搬上来了,也确实,和Activity打交道的次数基本上是最多的,而且他的内容和知识点也是很多的,非常值得我们优先把他掌握,Activity中文翻译过来就是"活动"的意思,但是主席觉得这样翻译有些生硬,直接翻译成"界面"可能更好,的确,Activity主要也是用于UI效