Android面试必备:Activity生命周期详解
需积分: 9 61 浏览量
更新于2024-09-15
收藏 323KB PDF 举报
"这是一份详细的Android面试题和答案PDF,涵盖了关于Activity生命周期、Activity间跳转以及横竖屏切换时Activity的行为等核心知识点。"
在Android开发中,Activity是构成应用程序用户界面的基本单元,它负责展示用户可以看到和交互的屏幕。Activity的界面通常通过XML布局文件定义,并在`res/layout`目录下存储。每个新创建的Activity都需要在`AndroidManifest.xml`中注册,以便系统能够识别并管理它们。
Activity的生命周期是其行为的关键部分,包括以下几个主要方法:
1. `onCreate(Bundle savedInstanceState)`:当Activity首次创建时调用,用于初始化界面和应用状态。`savedInstanceState`参数是一个可选的Bundle,用于在Activity被系统销毁后恢复先前的状态。
2. `onStart()`:当Activity变得对用户可见时调用,但还没有与用户交互。
3. `onResume()`:Activity准备与用户交互时调用,此时Activity位于栈顶并完全可见。
4. `onPause()`:当Activity失去焦点但仍然可见(例如,一个新的透明Activity覆盖了它)时调用,用于保存状态和执行轻量级操作。
5. `onStop()`:当Activity完全不可见时调用,可能即将被销毁或被其他Activity覆盖。
6. `onRestart()`:如果Activity被暂停后重新启动,会先调用此方法。
7. `onDestroy()`:Activity从系统内存中彻底移除前的最后一次回调,意味着Activity将被彻底结束。
当两个Activity之间进行跳转时,涉及以下生命周期方法的调用顺序:
1. `onCreate()`:新Activity创建时。
2. `onRestoreInstanceState()`:如果之前保存过状态,此方法用于恢复UI状态。
3. `onRestart()`:如果Activity被暂停后重启。
4. `onStart()`:Activity即将对用户可见时。
5. `onResume()`:Activity与用户开始交互。
关于横竖屏切换时Activity的生命周期,有两种情况:
1. **不设置`android:configChanges`**:系统默认情况下,当设备屏幕方向改变时,Activity会完全重建,调用`onDestroy()`和`onCreate()`。这样会导致数据丢失,因为默认不保存状态。
2. **设置`android:configChanges="orientation|screenSize"`**:在`AndroidManifest.xml`中声明处理屏幕方向变化,Activity的生命周期不会重建,而是调用`onConfigurationChanged(Configuration newConfig)`方法,允许你在不丢失状态的情况下处理配置更改。
理解并掌握Activity的生命周期对于开发健壮且响应式的Android应用至关重要,因为它有助于优化性能,确保用户体验,并处理异常情况。此外,熟悉Activity间的跳转和横竖屏切换处理也是面试中常考的知识点。
2019-12-14 上传
2022-07-14 上传
2024-01-25 上传
2022-07-13 上传
2020-05-12 上传
2022-07-13 上传
2021-10-19 上传
ycl19851011
- 粉丝: 0
- 资源: 3
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码