Android面试必备:Activity生命周期详解与常见问题

4星 · 超过85%的资源 需积分: 9 8 下载量 151 浏览量 更新于2024-09-13 收藏 323KB PDF 举报
"这篇资料主要涉及的是Android面试的相关问题,特别是关于Activity的深入理解,包括其定义、生命周期以及横竖屏切换时的影响。对于Android开发者来说,这些内容是面试中的常见考点,也是日常开发中必须掌握的基础知识。" 在Android应用开发中,Activity扮演着非常关键的角色。它代表了用户与应用交互的窗口,可以理解为应用中的一个界面。Activity的布局通常通过XML文件定义,存储在项目的res/layout目录下。为了使Activity能在应用中正常工作,必须在AndroidManifest.xml文件中进行注册。 Activity的生命周期是Android开发中的核心概念,它包括以下几个关键方法: 1. onCreate(Bundle savedInstanceState): 当Activity首次创建时调用,用于初始化界面和数据。savedInstanceState参数允许恢复之前保存的状态。 2. onStart(): Activity变得对用户可见时调用,从不可见状态转变而来。 3. onResume(): 用户开始与Activity交互时调用,此时Activity处于前台活跃状态。 4. onPause(): 当Activity失去焦点或即将被覆盖时调用,适合在此处保存状态,但不应执行耗时操作。 5. onStop(): 当Activity完全不可见时调用,可能是被新Activity覆盖或者应用最小化。 6. onRestart(): 如果Activity被暂停后重新启动,会先调用此方法。 7. onDestroy(): Activity将从系统内存中彻底移除前调用,标志着Activity生命周期的结束。 在两个Activity之间进行跳转时,特定的生命周期方法会被执行,如onCreate()、onRestoreInstanceState()、onRestart()、onStart()、onResume()、onSaveInstanceState()、onPause()、onStop()以及onDestroy(),这些方法按照特定顺序调用,确保Activity状态的正确管理。 当设备横竖屏切换时,如果不设置Activity的`android:configChanges`属性,系统默认会重新创建Activity,导致生命周期方法按onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume()的顺序执行。若设置了`android:configChanges="orientation"`,Activity则会在配置改变时调用onConfigurationChanged()方法,避免了重建,从而提高性能并节省资源。 理解并熟练掌握Activity的生命周期及其在不同场景下的行为,对于Android开发者来说至关重要,这不仅关乎到应用的用户体验,也直接影响到应用的性能和稳定性。因此,在面试中,这些都是评估候选人专业能力的重要指标。