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

3星 · 超过75%的资源 需积分: 10 6 下载量 122 浏览量 更新于2024-09-11 收藏 320KB PDF 举报
"关于Android面试题和答案的讨论" 在Android应用开发中,Activity是应用程序的核心组件,它代表了用户界面的一个独立屏幕。Activity通常包含各种视图控件,如按钮、文本框等,这些控件的布局定义在res/layout目录下的XML文件中。为了使一个Activity能在应用中运行,开发者必须在AndroidManifest.xml文件中声明和注册它。 Activity的生命周期是Android开发中的重要概念,它涉及到以下几个关键方法: 1. onCreate(Bundle savedInstanceState):当Activity首次创建时调用,用于初始化界面和设置基本状态。savedInstanceState参数是一个Bundle对象,如果Activity因配置改变而重建,它会包含之前保存的状态信息。 2. onStart():Activity从不可见变为对用户可见时调用,标志着Activity开始进入前台。 3. onResume():Activity开始与用户进行交互时调用,此时Activity处于活动状态,可以响应用户的输入。 4. onPause():当Activity即将被另一个Activity覆盖,但仍部分可见时调用,用于保存临时状态和释放资源。 5. onStop():Activity完全不可见时调用,通常在此时进行更深度的数据保存操作。 6. onRestart():如果Activity被暂停后重新启动,此方法会被调用,它是从onStop()到onStart()之间的过渡。 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的生命周期,如果不设置Activity的android:configChanges属性,系统默认会销毁并重新创建Activity,从而触发onDestroy()和onCreate()。但若设置了android:configChanges="orientation|screenSize",Activity会捕获到屏幕方向变化这一配置更改,通过onConfigurationChanged()方法处理,而不是重新创建Activity,这样可以避免数据丢失和性能消耗。 了解和掌握Activity的生命周期以及状态转换对于Android开发者来说至关重要,因为它直接影响到应用的性能、用户体验以及数据管理。在面试中,面试官通常会通过询问这些问题来评估候选人的Android基础知识和实际开发经验。