浅析Android之Activity生命周期_第1页
浅析Android之Activity生命周期_第2页
浅析Android之Activity生命周期_第3页
浅析Android之Activity生命周期_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    浅析android之activity生命周期    杨碎明 孙文高理解android的活动(activity)生命周期是对一个智能机开发人员工非常重要的。 只有这样,才能确保对一个逻辑的用户的应用程序有效管理其资源。android中的应用程序(app)并不能管理自已的生命周期,而是由系统进行统一的管理。1引言在现实生活中,经常会用手机打电话,发短信,玩游戏等,这就需要与手机界面进行交互,用户与程序的交互是能通过activity完成的,活动就是android程序的表现层,展示可视化的用户界面,并接收与用户交互所产生的界面事件活动。 活动可表现以下四

2、个状态: 分别是运行 (running)状态、暂停(paused)状态、停止(stopped)状态和销毁(destroyed)状态。 活动的生命周期就是它所在进程的生命周期。 分为三类:可视生命周期,前台生命周期、和完整生命周期。2活动交互机制2.1 活动的四个状态1)当用户界面在它在屏幕前台时,它是激活或运行状态。 它就是响应用户操作的activity。2)当一个界面上面有另外一个activity,使它失去了焦点但仍然对用户可视时,这个界面实质上处于暂停状态。在它之上的activity如果没有完全遮盖整个手机屏幕,或者是透明的,被暂停的activity仍然对用户可见,并且是存活状态。3)当它

3、完全被另一个activity覆盖时则处于停止状态。它仍然保留所有的状态和成员信息,然而对用户是不可见的。所以它的窗口将被隐藏,如果其它地方需要内存,则系统经常会杀死这个activity。4)销毁状态,不在以上三个状态中的活动,如活动已被回收或启动。3 activity生命周期3.1 活动的生命周期因为活动直接涉及与用户交互界面的处理,而任意时刻与用户交互的界面只有一个,所以android针对活动的管理采用了具有层次感的栈数据结构。活动栈保存了已经启动并且没有终止的活动,并遵循“先进后出”的原则。例如,在某个时刻只有一个活动处于栈顶,当这个活动被销毁后,下面的活动才可能处于栈顶,或者是有一个新的

4、活动被创建出来,则上一个活动就被压下去。1)activity的完整生命周期从首次调用oncreate()这个方法开始,最后调用ondestroy()这个方法结束。在activity生命周期中,用oncreate()中设置所有“全局”状态以完成初始化,而在ondestroy()中释放所有系统资源。2)activity的可视生命周期从调用onstart()方法开始,最后调用的onstop()结束。在这个过程中,用户可以在屏幕上看到activity活动, 虽然有时它不和用戶交互,也许它位于后台 3)activity的前台生命周期从调用onresume()开始,最后调用相应的onpause()为结束。

5、在这个过程中,activity位于前台最上面并与用户进行交互, 传递消息。activity会经常在暂停和恢复之间进行状态转换例如当设备转入休眠状态或者有新的activity启动时,将调用onpause() 方法。当activity获得结果或者接收到新的intent时会调用onresume() 方法。4)activity的onsaveinstancestate()和 onrestoreinstancestate()方法activity的 onsaveinstancestate() 和 onrestoreinstancestate()这两两个方法并不是生命周期方法,它们与 oncreate()、o

6、npause()等生命周期方法有本质的区别,它们常常并不会被调用,而当发生意外时才触发。如当应用遇到意外情况,由系统销毁一个activity时,onsaveinstancestate()才会被调用。但是当用户有意去销毁一个activity时,例如在应用中按返回键,onsaveinstancestate()就不会被调用。在这种情况下因为用户的行为决定了,不需要保存activity的状态。通常onsaveinstancestate()只适合用于保存一些 暂时性的状态,而onpause()适合用于数据的永久保存。activity生命周期一般分为四个基本状态,分别是活动状态(running),暂停状态(paused),停止状态(stopped)和死亡状态。 activity七大生命周期函数, activity一共有七个生命周期函数,分别为 oncreate(), onrestart(), onstart(), onreusme(), onpause(), onstop(), ondestor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论