Android面试精华:Activity详解与生命周期管理
4星 · 超过85%的资源 需积分: 10 70 浏览量
更新于2024-09-11
收藏 320KB PDF 举报
Android面试题和答案是求职者在准备Android开发岗位应聘时常遇到的问题集合,它涵盖了Android应用开发的基础知识以及面试官可能关注的关键点。本文将详细解释以下几个核心概念:
1. **Activity**:在Android中,Activity是一个核心组件,代表着一个独立的操作或屏幕。它是一个用户界面单元,允许用户交互并展示内容。每个Activity都有自己的视图层次结构,由XML布局文件定义,通常位于res/layout目录下。在AndroidManifest.xml文件中,需声明和配置Activity以便系统管理其生命周期。
2. **Activity 生命周期**:
- **onCreate(Bundle savedInstanceState)**:当Activity创建时调用,这是初始化活动的入口点。在此阶段,可以设置初始状态,并通过Bundle读取之前的保存状态。
- **onStart()**:当Activity变得可见且对用户可操作时调用,但可能因为其他原因暂时离开屏幕。
- **onResume()**:活动开始与用户交互时调用,无论启动还是重新激活,此方法都会执行。
- **onPause()**:活动暂停或被暂时卸载时调用,这时应保存状态并清理不必要的资源。
- **onStop()**:当Activity失去焦点,但并未完全销毁,仅变为不可见时调用。
- **onRestart()**:活动重新启动时调用,表明活动在堆栈中,而不是新建一个。
- **onDestroy()**:当Activity从系统内存中完全移除时调用,此时活动不能再接收用户的输入。
3. **Activity之间的跳转生命周期**:在不同Activity间切换时,关键方法包括:
- **onCreate()**:创建新Activity时调用。
- **onRestoreInstanceState()**:恢复前一次Activity的状态。
- **onRestart()**:活动重新启动时调用。
- **onStart()**:活动即将可见时调用。
- **onResume()**:用户开始交互,开始绘制界面。
- **onSaveInstanceState()**:在Activity将要从栈顶移除前保存状态。
- **onPause()**:暂停当前Activity,保存临时数据。
- **onStop()**:活动变不可见时调用。
- **onDestroy()**:活动销毁前的最终回调。
4. **横竖屏切换**:Android Activity在横竖屏切换时,如果没有明确设置`android:configChanges="orientation|screenSize"`,则默认会触发以下生命周期方法:
- 当屏幕旋转时,`onSaveInstanceState()`会被调用以保存当前状态。
- 活动暂停并重新创建(如果设置了`configChanges`,则可能发生onCreate和onStart),然后`onConfigurationChanged()`会被调用以更新UI以适应新的屏幕方向。
- 当旋转完成,活动会继续执行onResume(),恢复用户界面。
理解这些知识点对于面试中的Activity管理和生命周期管理部分至关重要,能够展示出你对Android应用程序设计和性能优化的理解。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2016-09-13 上传
2022-07-14 上传
2024-01-25 上传
2021-09-15 上传
2015-01-11 上传
happytaozs
- 粉丝: 0
- 资源: 9
最新资源
- launch-list:跟踪全球航天器所有即将到来的发射日期时间
- HealthSpeaks
- manager,c#获取网页源码指定元素site:bbs.csdn.net,c#
- VB写的可视化的控件注册程序
- exportToZip:标识M文件的依赖性并创建一个ZIP文件:$ matlabroot / toolbox中的文件被省略,从而提供了一种打包工作的有用方法-matlab开发
- SQLAlchemy:SQLAlchemy作业
- Turn Negative Numbers to Purple-crx插件
- length-of-word-histogranm,c#开发想qq一样的软件源码,c#
- DupMaster:摆脱Mac上的重复文件-开源
- Instagram_test:DRF-示例
- [论坛社区]Phpwind会员电子邮件地址导出程序_phpwind_email.rar
- fdbt-site:票价数据构建工具的主站点
- INL Image Artifacts:CMOS 图像传感器中积分非线性和列 ADC 失配效应的示例和模型-matlab开发
- Project-23
- GUMT - the GNU Users Management Tool-开源
- SilverlightWmv,c#查询系统源码,c#