Android面试必备:Activity生命周期详解
需积分: 9 145 浏览量
更新于2024-09-17
收藏 323KB PDF 举报
"Android面试题和答案"
在Android开发中,Activity是应用程序的基本构建块,它代表用户可以看到和交互的单个屏幕。Activity通常包含布局,这些布局是通过XML文件在`res/layout`目录下定义的。每个Activity都需要在应用程序的主配置文件`AndroidManifest.xml`中注册,以便系统知道其存在并能够正确地启动和管理它。
Activity的生命周期是面试中常见的问题,因为它关乎到应用程序的正确运行和资源管理。以下是Activity的主要生命周期方法及其调用时机:
1. `onCreate(Bundle savedInstanceState)`:当Activity首次创建时调用。在这个方法中,开发者通常会进行初始化工作,如设置视图和绑定事件。`savedInstanceState`参数用于在设备旋转等配置变化时恢复Activity的状态。
2. `onStart()`:当Activity变得对用户可见时调用。从这一刻起,Activity开始进入用户视线。
3. `onResume()`:当Activity准备与用户进行交互时调用,这意味着Activity现在处于前台并且可以接收用户输入。这是Activity生命周期中的活动状态。
4. `onPause()`:当Activity失去焦点,但仍然部分可见(例如,新Activity打开或对话框弹出)时调用。此方法用于保存状态并释放一些资源,因为用户可能暂时无法与Activity交互。
5. `onStop()`:当Activity完全不可见时调用,例如,用户导航到另一个Activity。此时,Activity可能不再在内存中显示。
6. `onRestart()`:如果Activity之前被停止,然后再次启动,这个方法会被调用。这发生在`onStop()`之后,但在`onStart()`之前。
7. `onDestroy()`:当Activity将被系统彻底销毁时调用,可能是由于系统资源紧张或者用户手动结束应用。这是Activity生命周期的最后一步。
在两个Activity之间的跳转过程中,一定会调用的生命周期方法包括:
- `onCreate()`:新Activity创建时。
- `onRestoreInstanceState()`:恢复之前保存的Activity状态。
- `onRestart()`:Activity被重新启动。
- `onStart()`:Activity变得对用户可见。
- `onResume()`:Activity开始与用户交互。
当设备从横屏切换到竖屏,或者反之,如果不指定Activity处理配置变化(通过`android:configChanges`),系统会默认销毁并重建Activity,从而调用`onDestroy()`,然后重新经历整个生命周期。如果在`AndroidManifest.xml`中指定了特定的配置变化,如`android:configChanges="orientation"`,那么Activity会通过`onConfigurationChanged()`方法处理变化,而不是被销毁和重建。这样可以避免状态丢失,但需要开发者手动处理配置更新。
110 浏览量
2020-02-23 上传
2023-09-01 上传
2023-03-20 上传
2024-04-25 上传
2023-09-19 上传
2023-05-31 上传
2023-10-10 上传
2023-05-13 上传
fxy701
- 粉丝: 11
- 资源: 206
最新资源
- 多功能HTML网站模板:手机电脑适配与前端源码
- echarts实战:构建多组与堆叠条形图可视化模板
- openEuler 22.03 LTS专用openssh rpm包安装指南
- H992响应式前端网页模板源码包
- Golang标准库深度解析与实践方案
- C语言版本gRPC框架支持多语言开发教程
- H397响应式前端网站模板源码下载
- 资产配置方案:优化资源与风险管理的关键计划
- PHP宾馆管理系统(毕设)完整项目源码下载
- 中小企业电子发票应用与管理解决方案
- 多设备自适应网页源码模板下载
- 移动端H5模板源码,自适应响应式网页设计
- 探索轻量级可定制软件框架及其Http服务器特性
- Python网站爬虫代码资源压缩包
- iOS App唯一标识符获取方案的策略与实施
- 百度地图SDK2.7开发的找厕所应用源代码分享