Android面试关键知识点:Activity生命周期详解

需积分: 9 4 下载量 31 浏览量 更新于2024-09-11 收藏 323KB PDF 举报
"Android面试题和答案" 在Android开发领域,面试中经常涉及到关于Activity的基础知识,这包括了Activity的概念、生命周期以及在不同场景下的行为。以下是对这些知识点的详细解释: 1. 什么是Activity? Activity是Android应用中的一个核心组件,它代表了用户界面的一个屏幕。在Android应用中,你可以有多个Activity,每个Activity都有自己的布局文件,通常存储在`res/layout`目录下。Activity是用户与应用交互的主要入口点,它可以包含各种视图组件,如按钮、文本框等。 2. Activity生命周期 - `onCreate(Bundle savedInstanceState)`:当Activity首次创建时调用,用于初始化UI和设置初始状态。`savedInstanceState`参数允许恢复之前保存的Activity状态。 - `onStart()`:Activity从不可见变到可见时调用,标志着Activity开始对用户可见。 - `onResume()`:用户可以与Activity交互时调用,此时Activity处于前台且具有焦点。 - `onPause()`:当Activity即将被另一个Activity覆盖或者用户离开时调用,通常用于保存临时状态。 - `onStop()`:当Activity完全不可见时调用,可能被销毁或者只是被其他Activity覆盖。 - `onRestart()`:如果Activity已停止但需要重新启动,会先调用此方法。 - `onDestroy()`:Activity将被彻底移除时调用,是Activity生命周期的最后阶段。 3. Activity之间的跳转 在两个Activity之间进行跳转时,必定会经历以下几个方法: - `onPause()`:在跳转前,当前Activity会被暂停。 - `onSaveInstanceState(Bundle outState)`:如果需要保存UI状态,此方法会在`onPause()`之前调用。 - `onStop()`:当前Activity变得不可见时调用。 - `onDestroy()`:在某些情况下,当前Activity可能会被销毁。 - 对新启动的Activity: - `onCreate(Bundle savedInstanceState)`:新Activity创建。 - `onStart()`:新Activity变得可见。 - `onResume()`:新Activity开始与用户交互。 4. 横竖屏切换时Activity的生命周期 如果不指定`android:configChanges`属性,横竖屏切换会导致Activity的完整生命周期重建,即`onCreate()`、`onStart()`、`onResume()`会被再次调用。为了避免不必要的重建,开发者可以在AndroidManifest.xml中为Activity添加`android:configChanges="orientation|screenSize"`,然后在Activity中重写`onConfigurationChanged(Configuration newConfig)`方法来处理配置变化。 理解并掌握Activity的这些基础知识对于Android开发者来说至关重要,因为它们直接影响到应用的性能、用户体验以及数据的正确保存和恢复。在面试中,深入理解Activity生命周期及其在不同场景下的表现,往往能体现开发者的专业程度。