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

需积分: 9 13 下载量 184 浏览量 更新于2024-09-18 收藏 323KB PDF 举报
Android面试题和答案集中,首先讲解了Android的核心组件——Activity的基本概念。Activity在Android应用开发中扮演着界面展示的角色,它是一个包含各种控件的视图容器,其界面布局通常通过XML文件定义,并存放在res->layout目录下。为了确保应用程序的正常运行,每个新创建的Activity都需要在AndroidManifest.xml文件中进行注册。 关于Activity的生命周期管理,它是Android应用程序管理内存和状态的关键部分。Activity经历了多个关键阶段: 1. `onCreate(Bundle savedInstanceState)`:这是Activity创建时被调用的方法,用于初始化活动和可能的保存的状态恢复。 2. `onStart()`:当Activity变为可见且用户可交互时调用,即使是从后台恢复过来也是如此。 3. `onResume()`:Activity与用户开始交互时调用,无论是否由停止状态恢复,这是活动的活跃核心阶段。 4. `onPause()`:当Activity暂停或失去焦点时,系统会在此调用,以保存活动状态,确保资源合理分配。 5. `onStop()`:活动变为不可见但并未被销毁,常用于暂停背景服务或处理其他需求。 6. `onRestart()`:当活动重新启动时调用,表明活动还在任务栈中,不是全新的启动。 7. `onDestroy()`:活动被系统完全从内存中清除前的最后一阶段,通常不再有回调。 在Activity间的跳转过程中,以下方法会被执行:`onCreate()`(创建时)、`onRestoreInstanceState()`(恢复界面状态)、`onRestart()`(重新启动时)、`onStart()`(启动可见时)、`onResume()`(交互开始时)、`onSaveInstanceState()`(保存状态前)、`onPause()`(暂停前)、`onStop()`(停止后)以及`onDestroy()`(销毁前)。 当涉及到横竖屏切换时,如果不设置`android:configChanges`属性,Activity会经历生命周期的典型流程,但屏幕方向的改变会导致系统自动保存当前状态并重新创建Activity实例,因此可能触发`onCreate()`、`onSaveInstanceState()`和`onConfigurationChanged()`方法。设置此属性可以帮助开发者控制如何处理配置变化,避免不必要的Activity重建。 掌握这些知识点有助于面试者理解和设计Android应用程序的性能优化和用户体验,特别是在处理多任务管理和资源管理方面。