Android面试关键:Activity生命周期详解
需积分: 10 84 浏览量
更新于2024-09-13
收藏 320KB PDF 举报
"这篇资料是关于Android面试题和答案,主要涵盖了Android开发中常见的问题,旨在帮助面试者准备面试。"
在Android应用开发中,Activity是应用程序的核心组件之一,它代表了用户可以看到和交互的单个屏幕。Activity的界面通常通过XML布局文件定义,存储在res/layout目录下。在创建一个新的Activity后,需要在AndroidManifest.xml文件中进行注册,以便系统知道如何管理和启动它。
Activity的生命周期是面试中经常被问到的一个关键点。它的生命周期包括以下几个主要方法:
1. onCreate(Bundle savedInstanceState):当Activity首次创建时调用,用于初始化界面和数据。Bundle参数可以用来恢复之前保存的Activity状态。
2. onStart():Activity从不可见变为可见时调用,此时用户开始能够看到Activity。
3. onResume():Activity进入前台并与用户开始交互时调用,此状态下Activity处于运行状态。
4. onPause():当Activity失去焦点但仍然部分可见(例如,弹出对话框)时调用,可以在此处保存一些数据,因为系统可能会很快调用onStop()。
5. onStop():Activity完全不可见,不再占用用户视线时调用,通常在Activity被销毁或另一个Activity覆盖时发生。
6. onRestart():如果Activity已经停止,但在栈中并未移除,当用户返回到该Activity时调用。
7. onDestroy():Activity将从系统中彻底移除时调用,这是Activity生命周期中的最后一个方法。
在两个Activity之间进行跳转时,以下方法会被调用:
1. onCreate():新Activity创建时调用。
2. onRestoreInstanceState(Bundle savedInstanceState):如果之前保存过状态,此方法用于恢复UI的状态。
3. onRestart():当已存在的Activity重新启动时调用。
4. onStart():Activity即将对用户可见时调用。
5. onResume():Activity开始与用户交互,绘制界面。
6. onSaveInstanceState(Bundle outState):在Activity即将被移出栈顶,需要保存UI状态时调用。
7. onPause():在Activity暂停前调用,用于保存数据和停止耗时操作。
8. onStop():Activity不再可见时调用。
9. onDestroy():在Activity销毁前调用。
关于横竖屏切换时Activity的生命周期,如果在AndroidManifest.xml中未指定`android:configChanges`属性,系统默认会销毁当前Activity并重建,调用onCreate()和onDestroy()。如果指定了`android:configChanges="orientation"`,则系统会在屏幕方向变化时调用onConfigurationChanged()方法,而不是销毁Activity,这样可以避免数据丢失和性能消耗。不过,处理配置更改通常是开发者的责任,需要在onConfigurationChanged()中更新界面布局以适应新的屏幕方向。
110 浏览量
2020-02-23 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
麒灬麟
- 粉丝: 0
- 资源: 4
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统