安卓菜鸟笔记二:Activity的生命周期

以下为Activity的生命周期图: 
这里写图片描述  
上图很好的概述了整个生命周期。在一个Activity的生命周期中,类似于一个金字塔,系统调用了一系列的生命周期中的核心方法。也就是说,Activity声明周期的每一个阶段相同金字塔的一个独立的阶梯。当系统产生一个新的Activity实例时,每个回调方法将活动状态向金字塔的顶部移动。金字塔的顶部就是Activity运行在前台的状态,用户可以与它交互。当用户离开Activity时,系统调用其他的方法使Activity的状态往塔底下跌从而销毁Activity。在某些情况下,Activity只会下跌一部分然后处于等待状态(例如当用户切换到其他的APP时),在这个点Activity又可以重新回到塔顶(当用户返回到该Activity时),然后从用户离开的地方重新开始Activity。 
基于Activity的复杂性,你并不要实现Activity生命周期中的每一个方法。但是,理解好每个方法的实现有助于使你的APP以用户期望的方式运行。生命周期方法的实现可以确保app在以下几个方面表现良好: 
1.在用你的app的过程中,当用户接了一个电话或切换到其他的app时不会死机。 
2.当用户没有真正使用它时不会消耗宝贵的系统资源。 
3.当用户离开你的app一会儿又回来时不会丢失用户的进程。 
4.当屏幕横向和纵向切换时不会丢失用户的进程。 
如上图所示,Activity在所示的几个不同状态转变,然而,仅仅其中的三个状态是静态的,也就是说Activity只能存在于其中的三个状态中: 
Resumed 
在这个状态Activity处于前台,用户可以与它交互(有时候也被称作running状态) 
Paused 
在这个状态中,Activity被其他的Activity部分地掩盖了——所谓其他的Activity是半透明或没有覆盖整个屏幕。 
Stopped 
在该状态中,该Activity被彻底隐藏了并且用户不可见;此时处于后台中。当stop的时候,该Activity实例和它所有状态信息比如用户变量被保存了,但是它不能执行任何代码。 
其他的状态(Created and Started)是瞬时的,系统通过调用其他的生命周期方法瞬间转变到下一个的状态。也就是说,当系统调用onCreate()方法时,立刻调用onStart()方法,接下来调用 onResume()方法。

猜你喜欢

转载自blog.csdn.net/sunjian1122/article/details/69061504