全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Activity之生命周期和启动模式activity类处于android.app包中,继承体系如下:java.lang.Objectandroid.content.Contextandroid.content.ContextWrapperandroid.view.ContextThemeWrapperandroid.app.Activity在Android中,Activity的生命周期一直是比较重要的知识点,首先上官方图:七个周期函数,可以添加log观察周期函数的输出验证生命周期函数的调用时间:protected void onCreate(Bundle icicle);protected void onRestart();protected void onStart();protected void onResume();/常用来刷新显示数据protected void onPause();/常用来保存数据,如contentprider,sharedpreferprotected void onStop();protected void onDestroy();生命周期总结:1,在 android 中,Activity 拥有四种基本状态:1. Active/Runing一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。2. Paused当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。3. Stoped当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时处于Stoped状态。4. KilledActivity 被系统杀死回收或者没有被启动时处于Killed状态。2,Activity栈(下面启动模式的基础):Android 是通过一种 Activity 栈的方式来管理 Activity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。Android之Activity的四种启动模式当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中。Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activity的属性android:launchMode=设置启动模式。如下1,2,3都设FirstActivity为当前模式,4设SecondActivity。1.Standared模式(默认)我们平时直接创建的Activity都是这种模式的Activity,这种模式的Activity的特点是:只要你创建了Activity实例,一旦激活该Activity,则会向任务栈中加入新创建的实例,退出Activity则会在任务栈中销毁该实例。2.SingleTop模式这种模式会考虑当前要激活的Activity实例在任务栈中是否正处于栈顶,如果处于栈顶则无需重新创建新的实例,会重用已存在的实例调用onNewIntent,否则会在任务栈中创建新的实例。3.SingleTask模式如果任务栈中存在该模式的Activity实例,则把栈中该实例以上的Activity实例全部移除,调用该实例的onNewIntent方法重用该Activity,使该实例处於栈顶位置,否则就重新创建一个新的Activity实例。和下面的singleinstance一样,通常在laucher中使用,避免别的程序使用时产生孤岛,也在开销较大的activity中使用节约内存开销。4.SingleInstance模式这种启动模式比较特殊,因为它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。我们修改FirstActivity的launchMode=standard,SecondActivity的launchMode=singleInstance我们看到从FirstActivity跳转到SecondActivity时,重新启用了一个新的栈结构,来放置SecondActivity实例,然后按下后退键,再次回到原始栈结构;图中下半部分显示的在SecondActivity中再次跳转到FirstActivity,这个时候系统会在原始栈结构中生成一个FirstActivity实例,然后回退两次,注意,并没有退出,而是回到了SecondActivity,为什么呢?是因为从SecondActivity跳转到FirstActivity的时候,我们的起点变成了SecondActivity
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年)大学生国家安全知识考试题附答案
- (2026年)娄底市新化县公安辅警招聘知识考试题库及答案
- (2025年)晋中市左权县招聘警务辅助人员考试真题及答案
- (2025年)平阳县公务员考试公共基础知识试题库(含答案)
- 信阳市商城县2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 邵阳市邵东县2025-2026学年第二学期四年级语文第七单元测试卷(部编版含答案)
- 上饶市上饶市2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 武汉市江岸区2025-2026学年第二学期五年级语文第七单元测试卷(部编版含答案)
- 2026初中社团活动第一课课件
- 农村基础教育信息化发展现状与对策考试及答案
- 睡眠监测室工作制度
- 2026四川成都双流区面向社会招聘政府雇员14人备考题库及答案详解(有一套)
- 2026年高中面试创新能力面试题库
- 2025-2030光伏组件回收处理行业现状分析资源利用规划
- 2025-2026学年赣美版(新教材)小学美术三年级下册《美丽建设者》教学课件
- 2026年中国邮政集团有限公司重庆市分公司校园招聘笔试备考题库及答案解析
- GB/Z 151-2026高压直流系统、静止无功补偿装置和柔性交流输电系统用换流器及其阀厅的防火措施
- 流行病学筛检试题及答案
- 2026年上海电机学院单招综合素质考试题库附参考答案详解(达标题)
- 2026年商业地产运营管理协议
- 2026年moldflow铜牌考试试题
评论
0/150
提交评论