Android面试精华:Activity生命周期与跳转解析
5星 · 超过95%的资源 需积分: 9 121 浏览量
更新于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 上传
111 浏览量
2013-12-09 上传
2013-05-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
床前明月光屁屁
- 粉丝: 0
- 资源: 5
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查