Android面试精华:Activity生命周期与跳转解析
5星 · 超过95%的资源 需积分: 9 157 浏览量
更新于2024-09-11
收藏 323KB PDF 举报
在Android开发中,Activity是应用程序的核心组件,它代表了应用中的一个单独可显示用户界面的部分。一个Activity通常与一个XML布局文件相对应,定义了界面元素的布局结构,并在AndroidManifest.xml文件中进行注册。Activity有其完整的生命周期管理过程,包括以下几个关键方法:
1. **onCreate(Bundle savedInstanceState)**:这是Activity的初始化方法,当Activity被创建时,系统会调用此方法。在这里,你可以初始化控件、设置数据,以及利用savedInstanceState参数(如果有的话)恢复之前保存的状态。
2. **onStart()**:当Activity变为可见且用户能够与之交互时,会触发此方法。即使是从后台恢复过来,onStart也会被调用。
3. **onResume()**:这是最重要的生命周期回调,标志着Activity真正与用户进行交互,此时可以执行耗时的操作,因为它的执行是立即的,不像其他方法可能被系统中断。
4. **onPause()**:当Activity暂停或者需要回收资源(如设备旋转时)时,系统会调用此方法,开发者需要在此处保存状态以备后续恢复,这通常是保存临时数据或停止动画等操作。
5. **onStop()**:当Activity不再接收用户的输入并且变为不可见时,会进入此阶段。尽管它仍处于任务栈中,但资源消耗较低。
6. **onRestart()**:当先前的Activity因某种原因停止后重新启动时,会调用此方法,但不会销毁当前Activity实例。
7. **onDestroy()**:这是Activity的终止阶段,当系统决定释放Activity的所有资源,将其从内存中彻底清除时,会调用这个方法。在onDestroy之前,onSaveInstanceState可能会被调用,用于保存重要的数据以便将来恢复。
在处理横竖屏切换时,如果不设置`android:configChanges`属性,Activity的生命周期会发生以下变化:
- 当屏幕方向改变而Activity被系统自动重新创建时,会经历`onCreate()`、`onSaveInstanceState()`、`onStart()`、`onResume()`的完整流程,以适应新的屏幕方向。
- 如果设置了相应的属性来处理屏幕方向变化,如`android:configChanges="orientation|screenSize"`,则Activity会在当前方向下继续运行,生命周期流程会跳过部分步骤,例如暂停和保存状态的部分将由系统内部处理。
理解Activity生命周期对于优化用户体验、合理保存和恢复状态至关重要,同时正确处理横竖屏切换也是确保应用稳定性和性能的关键环节。
2014-08-12 上传
110 浏览量
2013-12-09 上传
2013-05-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
床前明月光屁屁
- 粉丝: 0
- 资源: 5
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程