Android面试精华:Activity详解与生命周期管理

4星 · 超过85%的资源 需积分: 10 3 下载量 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应用程序设计和性能优化的理解。