"Android面试题集锦,包含74道问题,主要涵盖Activity、生命周期、用户交互等核心概念,适合面试准备及知识巩固。"
在Android应用开发中,Activity是四大核心组件之一,它代表着应用程序中用户可以看到和交互的一个界面。通常情况下,每个用户界面都会对应一个Activity实例。在创建Activity时,我们通过`setContentView()`方法来指定要展示的布局文件。Activity继承自Context,并且实现了Window.Callback和KeyEvent.Callback接口,因此它可以处理与窗口相关的用户交互事件,如按钮点击等。
Activity的生命周期是Android开发者必须深入理解的概念。Activity从创建到销毁经历了多个状态,每个状态变化时,系统会调用相应的方法。这些方法包括:
1. `onCreate()`: Activity首次创建时调用,用于初始化。
2. `onStart()`: Activity变得对用户可见时调用。
3. `onResume()`: Activity获得焦点,用户可以与其交互时调用。
4. `onPause()`: 当Activity即将被另一个Activity覆盖,但仍然可见时调用,适合保存临时数据。
5. `onStop()`: Activity完全不可见时调用,资源可以在此时释放。
6. `onRestart()`: 如果Activity在`onStop()`后又被重新打开,而不是被销毁,就会调用此方法。
7. `onDestroy()`: Activity即将被系统销毁时调用,是Activity生命周期的最后一步。
在实际开发中,例如在豆瓣客户端中,我们可能希望用户每次打开某个界面时都能看到最新的数据。在这种情况下,可以在`onStart()`方法中调用`fillData()`这样的函数,确保数据的实时更新。
对于多媒体播放,当来电话或其他应用需要抢占焦点时,Activity会被`onStop()`,此时应该暂停视频播放,例如通过`mediaplayer.pause()`来停止视频播放,并将音量设置为0。在`onStart()`时,我们可以根据之前保存的状态恢复视频播放,比如恢复到之前的位置。
这些面试题和知识点反映了Android开发中的一些基础但至关重要的概念,不仅适用于面试,也是日常开发中需要熟练掌握的技能。通过理解和实践这些概念,开发者可以更好地构建稳定、用户体验优秀的Android应用。