Android面试深度解析:Activity生命周期与实践

需积分: 11 4 下载量 173 浏览量 更新于2024-07-21 收藏 275KB DOC 举报
"Android面试题集,涵盖Activity生命周期和应用实践" 在Android开发中,面试题经常涉及到核心组件,特别是Activity。Activity是Android应用程序的主要构建块,它代表了一个用户可以看到和交互的屏幕。一个Activity通常对应一个用户界面,通过`setContentView()`方法设置要显示的布局,比如XML文件。此外,我们可以通过给控件如`button`设置`OnClickListener`来处理用户交互。 Activity是`Context`的子类,并实现了`Window.Callback`和`KeyEvent.Callback`接口,因此它能够处理窗体事件和键盘事件。在实际开发中,我们经常使用特定类型的Activity,如`FragmentActivity`用于支持`Fragment`,`ListActivity`用于展示列表,`PreferenceActivity`用于设置界面,以及自定义的`BaseActivity`作为基类,以封装共有的功能和逻辑。 关于Activity的生命周期,这是每个Android开发者必须掌握的基础。Activity的生命周期由一系列的方法组成,描述了从创建到销毁的过程,包括`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, `onRestart()`, 和 `onDestroy()`。每个方法都有其特定的触发场景: - `onCreate()`:Activity首次创建时调用,用于初始化。 - `onStart()`:当Activity变得对用户可见时调用。 - `onResume()`:Activity获得焦点并准备与用户交互时调用。 - `onPause()`:当Activity失去焦点,但仍然部分可见时调用,常用于保存数据和释放资源。 - `onStop()`:当Activity完全不可见时调用,大部分资源会被释放。 - `onRestart()`:在`onStop()`之后,Activity重新开始前调用。 - `onDestroy()`:Activity即将被销毁时调用,是Activity生命周期的最后一步。 在实际项目中,例如手机卫士,为了保证用户每次打开界面都能看到最新数据,我们会在`onStart()`方法中进行列表的刷新操作。对于多媒体播放,当来电或需要暂停时,`onStop()`方法会被调用,此时应将视频声音设为0,并记录播放位置。当Activity再次启动(未被销毁)时,`onStart()`会恢复之前的状态,继续播放视频。 另外,还有一些不太常见的生命周期方法,如`onPostResume()`,它在`onResume()`之后调用,通常用于完成与用户交互后的一些后续操作。`onPostCreate()`则在`onCreate()`之后调用,可以用来做UI布局完成后的一些额外设置。尽管在开发中不常用,理解这些方法可以帮助开发者更全面地理解Activity的生命周期管理。 熟悉和掌握Activity的生命周期及其方法调用顺序,对于编写高效、响应迅速的Android应用至关重要,也是面试中常考的重点。在实际项目开发中,合理利用生命周期方法可以确保用户体验的流畅性和应用程序的性能。