Android面试必备:Activity生命周期详解

4星 · 超过85%的资源 需积分: 9 20 下载量 47 浏览量 更新于2024-09-18 收藏 323KB PDF 举报
"Android面试题集锦包含了对Activity的基本概念及其生命周期的详尽解析,是准备Android面试的重要参考资料。" 在Android开发中,Activity扮演着核心角色,它代表了一个可视化的用户界面,用户可以通过它与应用进行交互。Activity的界面布局通常通过XML文件在res/layout目录下定义。在AndroidManifest.xml文件中注册Activity是使其能够运行的必要步骤。 Activity的生命周期是面试中经常被问到的话题,因为它关系到应用的性能和用户体验。以下是对Activity生命周期方法的详细解释: 1. onCreate(Bundle savedInstanceState):当Activity首次创建时调用,用于初始化界面和组件。savedInstanceState参数是一个Bundle对象,如果Activity因配置变化而重建,它将包含先前保存的状态信息。 2. onStart():当Activity变得对用户可见但并未完全占据屏幕时调用,标志着Activity开始进入用户视线。 3. onResume():Activity准备与用户交互时调用,此时Activity处于前台并获取焦点,用户可以与其进行操作。 4. onPause():当Activity失去焦点,即将被其他Activity覆盖或者退至后台时调用。此阶段应快速保存状态,因为用户可能看不到Activity了。 5. onStop():当Activity完全不可见,如被其他Activity覆盖或应用被最小化时,系统会调用此方法。此阶段进一步释放资源,以减少内存占用。 6. onRestart():如果Activity被暂停后重新激活,会先调用此方法,然后是onStart(),表明Activity即将再次显示。 7. onDestroy():Activity即将被彻底销毁时调用,是Activity生命周期中的最后一个方法,适合做全局清理工作。 在两个Activity之间切换时,必然涉及的生命周期方法包括: - onCreate():Activity创建时调用。 - onRestoreInstanceState():恢复之前保存的UI状态。 - onRestart():Activity重新启动时调用。 - onStart():Activity即将对用户可见时调用。 - onResume():Activity开始与用户交互,界面绘制完成。 关于横竖屏切换时Activity的生命周期,如果不指定Activity的`android:configChanges`属性,系统默认会重新创建Activity(调用onDestroy()和onCreate()),导致数据丢失。若希望在配置变化时自己处理,可以声明特定的配置变化,如`android:configChanges="orientation|screenSize"`,这样系统会在发生变化时调用onConfigurationChanged()方法,而不是销毁并重建Activity。