您的位置:首页 > 移动开发 > Android开发

记录自己的Android学习(三)Activity生命周期

2014-03-06 12:16 239 查看
Activity到底是什么?我第一次接触的时候想到的就是活动和界面,这是从字面上理解的。看了官方API后,有了更加清楚的认识。
一个Activity是单一的,聚焦的并且用户能够操作的东西,大部分activity和用户都具有依赖关系,我们可以创建不同的activity,例如全屏的窗体,也可是是浮动的窗体(经过设置windowIsFloating主题),或者也可以嵌套在另外的Activity中(ActivityGroup)。
了解到基本原理之后,开始总结Activity的lifecycle:
1、Activity的管理方式
android应用的Activity在我们手机系统中通过 activity task(activity栈)的方式来进行管理,当新的activity启动时,会代替原来在栈顶部的activity,打个比喻说:”新来的小弟当上了老大,坐上了最高层的位置,原来的老大被迫当了老二,并且新老大如果一直坐到那的话,原来的老大永远没有翻身的机会!“
2、Activity的四种状态
活动状态:屏幕最前端,也就是栈顶
paused:失去焦点,但是依然可见,就是说可见不可交互的状态,如半透明activity遮盖,或者对话框的弹出等。在这个状态的activity依然保持所有的状态、信息以及和窗体管理器的联系。虽然如此,但在这个状态我们应该保存需要的数据,因为当系统内存不足的时候可能会被杀死。
 
stopped:一个activity完全被另外一个activity遮盖时,就会stopped,在这个状态对用户而言是不可见的,并且系统其他地方需要内存的时候会经常杀死这个activity.
非活动状态:如果activity被paused或者stopped,系统可以通过finish来结束掉。
3、七大生命周期
先上一张官方的解释图:
 



 
onCreate():activity第一次被启动时调用,通常是创建视图和加载数据等操作。
onStart():可见不可操作。
onResume():可见可操作。
onPaused();activity没有完全被遮挡,应该在这个地方保持需要的数据。
opStop():activity被完全遮挡,不可见。
onDestroy():activity被销毁
onRestart():activity从stopped状态回到onResume状态,需要调用的方法
下面总结的是一些常见操作调用方法的顺序(以两个activity为例):
启动应用:         
 


进入第二个界面:



返回第一个界面:



锁屏:



解锁:



按HOME键:



 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: