Android Activity生命周期与面试重点

需积分: 1 12 下载量 65 浏览量 更新于2024-07-23 收藏 302KB DOC 举报
"张泽华Android - Android面试题整理" 在Android开发中,Activity是四大核心组件之一,它代表着应用程序中用户可以看到并与其交互的单个屏幕。Activity通常与一个用户界面布局相关联,通过`setContentView()`方法加载布局文件。开发者可以通过监听器如`setOnClickListener()`来处理用户在界面上的交互事件。由于Activity继承自Context并实现了Window.Callback和KeyEvent.Callback接口,因此它可以处理窗口管理和键盘输入事件。 Activity的生命周期是Android开发者必须掌握的重要概念。它描述了从Activity实例创建到被系统回收的整个过程,以及在这个过程中系统调用的一系列方法。Activity的生命周期主要包含以下几个关键方法: 1. `onCreate()`: Activity首次创建时调用,用于初始化界面和数据。 2. `onStart()`: Activity变得对用户可见时调用,但可能还不完全在前台。 3. `onResume()`: Activity获得焦点并准备与用户交互时调用,此时用户可以与Activity进行交互。 4. `onPause()`: 当Activity即将被另一个Activity覆盖,但仍部分可见时调用,用于保存数据和释放资源。 5. `onStop()`: Activity完全不可见时调用,可能被系统销毁,也可能只是暂时隐藏。 6. `onRestart()`: 如果Activity在`onStop()`后又被重新启动,而不是直接销毁,会调用此方法,接着调用`onStart()`。 7. `onResume()`: 从`onStop()`或`onRestart()`恢复到可见状态时调用。 8. `onDestroy()`: Activity将被系统彻底销毁前调用,是Activity生命周期的最后一个方法。 在实际项目开发中,比如在豆瓣客户端,为了确保用户每次打开界面都能看到最新的数据,我们通常会在`onStart()`方法中执行刷新列表的操作。当有电话来时,如果正在播放多媒体,我们可以在`onStop()`中暂停视频播放,设置音频为静音,并保存当前播放位置。在`onStart()`时,根据保存的状态恢复现场,继续播放视频。 此外,还有两个不太常见的生命周期方法:`onPostResume()`和`onPostCreate()`。`onPostResume()`是在`onResume()`之后调用,确保所有与用户交互相关的准备工作已经完成。`onPostCreate()`则是在`onCreate()`之后调用,通常用于执行一些UI布局加载后的额外操作。尽管这两个方法在某些场景下可能不常用,了解它们的存在有助于全面理解Activity的生命周期管理。