- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2Activity组件的生命周期
实验二 Activity组件的生命周期
一、了解Activity组件的生命周期;
了解Activity组件的运行状态;
掌握Activity。
、Activity? Activity是Android组件中最基本也是最为常见用的四大组件之一(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)。
Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
在 android 中,Activity 拥有四种基本状态:
Active/Runing
一个新 Activity 启动入栈后,它显示在屏幕最前端,处理是处于栈的最顶端(Activity栈顶),此时它处于可见并可和用户交互的激活状态,叫做活动状态或者运行状态(active or running)。
Paused
当 Activity失去焦点, 被一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶,此时的状态叫做暂停状态(Paused)。此时它依然与窗口管理器保持连接,Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被强行终止掉。所以它仍然可见,但已经失去了焦点故不可与用户进行交互。
Stoped
如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被强行终止掉。
Killed
如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。
状态转换
当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。图说明了 Activity 在不同状态间转换的时机和条件:
图1. Activity 的状态转换
如所示,Android 程序员可以决定一个 Activity 的“生”,但不能决定它的“死”,也就时说程序员可以启动一个 Activity,但是却不能手动的“结束”一个 Activity。当你调用 Activity.finish()方法时,结果和用户按下 BACK 键一样:告诉 Activity Manager 该 Activity 实例完成了相应的工作,可以被“回收”。随后 Activity Manager 激活处于栈第二层的 Activity 并重新入栈,同时原 Activity 被压入到栈的第二层,从 Active 状态转到 Paused 状态。例如:从 Activity1 中启动了 Activity2,则当前处于栈顶端的是 Activity2,第二层是 Activity1,当我们调用 Activity2.finish()方法时,Activity Manager 重新激活 Activity1 并入栈,Activity2 从 Active 状态转换 Stoped 状态,Activity1. onActivityResult(int requestCode, int resultCode, Intent data)方法被执行,Activity2 返回的数据通过data参数返回给 Activity1。
Activity 栈
Android 是通过一种 Activity 栈的方式来管理 Activity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。Activity 的状态与它在栈中的位置关系如图所示:
图2. Activity 的状态与它在栈中的位置关系
如所示,除了最顶层即处在 Active 状态的 Activity 外,其它的 Activi
您可能关注的文档
- 天麻的活性成分研究及其质量评价.doc
- 太平天国习题.doc
- 央视的窘境既要打鸣又要下蛋.docx
- 头发的结构和基本成分.doc
- 天津理工电路习题及答案第三章电阻电路的一般分析方法.doc
- 太赫兹相机用于安检设备的使用建议书.docx
- 夯实基础短平快流体力学B.docx
- 好山好水好风光教案.doc
- 奶牛如何做到正确的助产以及产后护理.doc
- 好议论文分论点语段教师.doc
- 2025年江苏省镇江市-警察招考行政能力测验真题(含答案).pdf
- 2025年设备采购实施方案(共5篇).pdf
- 2025年公共政策分析 期末考试题答案.pdf
- 2025年部编人教版八年级语文下册期末测试卷(可打印).pdf
- 2025年见证取样送检制度及注意事项(广州地区).pdf
- 2022年-2023年必威体育官网网址知识考试教育模拟考试题(含答案) .pdf
- 2023-2024学年度新人教版四年级下册语文教学计划及进度表 .pdf
- 2025年1、民法是调整平等主体的公民之间、法人之间、公民和法人之间财产....pdf
- 2025年12月高等学校英语应用能力考试A级真题及答案.pdf
- 2022学生入团申请书范文8篇 .pdf
文档评论(0)