Android面试题整理包含了丰富的知识点,主要围绕Android应用程序的核心组件——Activity进行深入讨论。以下是提炼的关键点:
1. **Activity基础概念**:Activity是Android四大组件之一,负责展示用户界面。每个应用至少有一个Activity,它是用户与应用交互的主要入口点。`setContentView()`方法用于设置布局视图,而`activityContext`则提供与系统服务交互的能力。当Activity接收到按键或事件时,它会调用相应的回调方法,如`onCreate()`、`onDestroy()`、`onStop()`、`onStart()`、`onResume()`和`onPause()`。这些生命周期方法在不同阶段控制着Activity的状态。
2. **Service与BroadcastReceiver**:Activity可以通过`startService()`方法启动后台服务(DoubanService),同时需要注意,通常情况下,创建新的Activity实例时并不会自动执行,而是通过`new()`关键字创建和初始化。
3. **Activity生命周期管理**:`onRestart()`方法在Activity被重新创建但尚未完全显示时调用,仅在`onDestroy()`之后和`onStart()`之前。如果由于配置变化导致Activity被销毁并重建,`onSaveInstanceState()`方法用于保存数据,而在`onRestoreInstanceState()`中恢复。在暂停或停止状态时,应正确处理MediaPlayer的播放控制,如在`onStop()`时暂停播放,`onStart()`时恢复播放。
4. **Activity间的通信与状态切换**:当一个Activity(A)暂停时,另一个Activity(B)可能开始运行,这时A会调用`onPause()`,B会执行`onCreate()`、`onStart()`和`onResume()`。B完全接管界面后,A会被停止,即`onStop()`,此时B的`onPostResume()`和`onPostCreate()`可能会触发。
5. **处理配置变化**:Android允许应用程序处理特定的配置变化,例如屏幕方向或键盘隐藏。默认情况下,系统会重定向到新的Activity实例,但可以通过`android:configChanges`属性来指定哪些变化需要特殊处理,避免不必要的Activity重建。
6. **Activity启动模式**:Android有多种Activity启动模式,比如单例模式、栈式启动、任务与历史记录管理等。理解不同模式有助于优化用户体验和资源管理。
Android面试题涉及了Activity的生命周期管理、服务和接收器的使用、配置变化处理以及Activity启动模式等核心概念,这些知识点对于应聘Android开发职位的候选人来说至关重要。在实际面试中,候选人应能熟练掌握并应用这些知识来构建健壮的Android应用程序。