重建Activity-Recreating an Activity
有几个情况下 Activity 会由于正常的程序行为而被 Destory,例如当用户点击返回按钮或 者是 Activity 通过调用 finish()发出了停止信号。系统也有可能会在 Activity 处于 stop 状态且长时间不被使用、或在前台 Activity 需要更多系统资源的时候关闭后台进程以获取 更多的内存。 在Android开发中,Activity是应用组件的一种,它提供了一个屏幕,用户可以在其中进行交互。Activity的生命周期是管理Activity状态的一系列方法,确保在不同情况下能正确地保存和恢复用户的进度。在Activity生命周期中,重建(Recreating an Activity)是一个重要的概念,涉及到Activity因不同原因被销毁(Destory)后重新创建(Create)的过程。根据给定的信息,我们可以详细探讨以下知识点: 1. Activity销毁的场景:Activity在以下几种情况下会被销毁: - 用户点击返回按钮,发出结束Activity的信号。 - 开发者通过调用Activity的finish()方法显式地结束Activity。 - 当Activity处于停止状态(stop state)且长时间未被使用时,系统可能会销毁后台进程以释放内存。 - 当前台Activity需要更多系统资源时,系统可能为了内存管理而关闭后台进程。 2. Activity重建的过程:当Activity因用户操作或系统资源管理被销毁时,系统会丢失Activity实例。但如果系统资源紧张导致Activity被销毁,当用户返回该Activity时,系统会利用之前保存的状态信息重建Activity实例。这些保存的状态信息被称为"instancestate",存储在Bundle对象中。 3. Activity重建与屏幕旋转:每次屏幕方向改变时,前台Activity会被销毁并重建。这是由于屏幕配置的改变,Activity可能需要加载不同的资源(例如布局)。系统默认保存视图信息,如EditText中的文本和ListView的滑动位置,并在Activity重建时恢复这些状态。 4. 保存额外状态信息的方法:默认情况下,系统保存的只是Activity视图的状态信息。如果需要保存更多如成员变量等额外信息,开发者需要在Activity生命周期中实现onSaveInstanceState()方法。此方法会在Activity停止时被调用,允许开发者将额外的状态信息以键值对的形式保存到Bundle对象中。然后,在Activity重建时,系统会在onCreate()或onRestoreInstanceState()方法中传递这个Bundle对象,开发者可以从中恢复之前保存的状态信息。 5. 实现onSaveInstanceState()方法的步骤: - 定义静态常量作为保存状态信息的键,例如玩家得分(STATE_SCORE)和当前等级(STATE_LEVEL)。 - 重写onSaveInstanceState()方法,在方法中创建或更新***e对象,加入需要保存的状态信息。 - 调用super.onSaveInstanceState(savedInstanceSt)以确保父类可以保存视图层次结构的状态。 6. 理解和利用生命周期回调函数:Activity生命周期涉及多个回调函数,如onCreate(), onRestoreInstanceState(), 和onSaveInstanceState()。这些方法分别在Activity创建、恢复状态和保存状态时被系统调用。正确地实现这些方法对于维护良好的用户体验和应用性能至关重要。 总结来说,重建Activity是Android应用开发中一个核心的概念,需要开发者理解Activity生命周期、合理管理状态信息、并在必要时通过回调函数处理状态保存和恢复。在资源紧张或配置变化导致Activity销毁时,通过这些机制可以确保用户的操作状态得到保持,提升应用的健壮性和用户体验。






























- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 道路与桥梁绘图的基本知识和技能培训讲义.ppt
- 湿式报警阀组安装工艺标准.doc
- 企业办公综合楼建设安全文明施工管理汇报(图文).pptx
- 物资设备采购招标代理合同清洁版.doc
- 陈昌兄弟石材(上海)有限公司新建工程施工组织设计.doc
- 施工项目管理与项目成本管理浅析.docx
- 均属比较t-test-练习.doc
- 网络名词与常用术语.ppt
- 电气照明专用灯具安装检验批质量验收记录.docx
- 基于CDIO理念的计算机网络教学改革与实践.docx
- 工程项目质量技术交底.doc
- 罐区安全技术管理规定.doc
- 污水处理站调试方案.docx
- 027保温、防水工安全操作规程.doc
- 创业项目的选择讲义.docx
- 公司员工管理表格-员工培训报告书.doc


