安卓Activity详解与面试必备知识点

5星 · 超过95%的资源 需积分: 9 23 下载量 93 浏览量 更新于2024-09-15 1 收藏 323KB PDF 举报
"这是一份关于安卓面试题的资料,主要涵盖了Activity的概念、生命周期以及横竖屏切换时Activity的行为。适合准备安卓面试的求职者学习和复习。" 在安卓开发中,Activity是应用程序的主要构建块,它代表了用户界面的一个屏幕。Activity可以包含各种控件,并且它们的布局通常定义在res/layout目录下的XML文件中。每个新创建的Activity都需要在AndroidManifest.xml文件中进行注册,以便系统能够识别和管理。 Activity的生命周期是理解安卓应用行为的关键。以下是Activity生命周期中的主要方法: 1. onCreate(Bundle savedInstanceState):当Activity首次创建时调用,用于初始化界面和设置初始状态。savedInstanceState参数可用来恢复之前保存的状态。 2. onStart():Activity将变得对用户可见时调用,此时用户可以看到Activity但还未与其交互。 3. onResume():Activity进入前台并与用户开始交互,这是Activity运行的活跃状态。 4. onPause():当Activity失去焦点,但仍然部分可见(例如,打开一个透明或半透明的对话框)时调用,通常用于保存数据和释放资源。 5. onStop():当Activity完全不可见时调用,如被另一个Activity覆盖。 6. onRestart():如果Activity被暂停后重新启动,会先调用此方法,然后是onStart()和onResume()。 7. onDestroy():Activity将被系统彻底销毁前调用,可能是用户关闭Activity或系统内存紧张需要回收资源。 在两个Activity之间的跳转过程中,以下几个方法是必经的生命周期回调: - onCreate():Activity创建时。 - onRestoreInstanceState():如果存在之前保存的UI状态,此方法会恢复它。 - onRestart():Activity被重新启动时。 - onStart():Activity即将对用户可见时。 - onResume():Activity开始与用户交互,界面绘制完成。 - onSaveInstanceState():Activity即将移出栈顶,系统需要保存当前UI状态时调用。 - onPause():Activity被暂停,用于保存数据和准备其他Activity的启动。 - onStop():Activity不再可见。 - onDestroy():Activity销毁前的最后一步。 当设备横竖屏切换时,如果不设置Activity的`android:configChanges`属性,系统默认会销毁并重建Activity,从而调用整个生命周期。如果设置了`android:configChanges="orientation"`,Activity会在配置改变时调用onConfigurationChanged()方法,而不是销毁重建,这允许开发者自己处理配置变化,避免不必要的状态丢失。 理解并掌握这些知识点对于安卓开发者来说至关重要,特别是在面试中,能够流利地解释和演示Activity的生命周期管理,以及如何应对横竖屏切换等常见场景,将大大提升面试成功率。