码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-04-18 16:08:53      阅读:188      评论:0      收藏:0      [点我收藏+]

标签: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的生命周期,看图还是比较简单明了的。
当然自己动手重写那几个函数试一试,会加深下印象。

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

标签:android   activity   生命周期   

原文地址:http://blog.csdn.net/sun1956/article/details/45113929

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!