"Android面试技巧与核心知识点解析"
在Android面试中,掌握关键概念和技术细节是至关重要的。这里我们将深入探讨Activity及其生命周期,这是Android开发的基础,也是面试中的常见话题。
Activity是Android应用的核心组成部分,它代表了用户界面的一个可视窗口。在Android应用中,每个屏幕通常对应一个Activity。这些界面可以通过XML布局文件定义,存放在项目的`res/layout`目录下。为了使Activity能够运行,我们必须在`AndroidManifest.xml`文件中声明和注册它。
Activity的生命周期包括以下几个关键方法:
1. `onCreate(Bundle savedInstanceState)`:当Activity首次创建时调用,用于初始化界面和基本设置。`savedInstanceState`参数用于在设备旋转等配置变化时恢复Activity的状态。
2. `onStart()`:当Activity变得对用户可见但未完全显示时调用,此时Activity开始进入前台。
3. `onResume()`:Activity准备与用户交互时调用,表示Activity现在处于活动状态。
4. `onPause()`:当Activity即将被另一个Activity覆盖,但仍部分可见时调用,适合在此处保存数据和停止耗时操作。
5. `onStop()`:当Activity完全不可见时调用,可能标志着Activity将被销毁。
6. `onRestart()`:如果Activity已停止并需要重新启动,会先调用此方法。
7. `onDestroy()`:Activity从内存中彻底移除前的最后一步,可能是用户关闭或系统回收资源时触发。
在Activity间跳转时,一些特定的生命周期方法会被调用,如`onCreate()`、`onStart()`、`onResume()`、`onPause()`、`onStop()`、`onDestroy()`等,它们按照一定的顺序执行,形成Activity的生命周期流转。
当设备从横屏切换到竖屏,或者反之,如果不指定`android:configChanges`属性,系统默认会销毁并重建Activity以适应新的屏幕方向。这样会导致`onCreate()`和`onDestroy()`被调用,同时也会调用`onSaveInstanceState()`来保存状态,并在新Activity创建时通过`onRestoreInstanceState()`恢复。如果在`AndroidManifest.xml`中声明`android:configChanges="orientation"`,则Activity不会被销毁,而是直接调用`onConfigurationChanged()`方法处理屏幕方向的变化。
理解Activity生命周期及其在不同场景下的行为,对于编写健壮且用户体验良好的Android应用至关重要。在面试中,面试者应该能够详细解释这些概念并给出实际应用中的例子。此外,还需熟悉如何处理配置变化、内存管理以及优化Activity的性能等方面的知识。