安卓面试题详解:Activity生命周期

需积分: 3 1 下载量 160 浏览量 更新于2024-09-12 1 收藏 71KB DOC 举报
"Android面试题总结" 在Android应用开发中,面试时常会涉及到Activity的生命周期,这是开发者必须精通的关键概念。Activity作为用户界面的核心组件,它的生命周期管理直接影响到应用的性能和用户体验。以下是对Activity生命周期各个阶段的详细解释: 1. **onCreate()**:这个方法在Activity首次创建时被调用,是初始化的重要阶段。在这里,你应该设置UI布局、初始化变量、绑定数据到列表等。如果Activity之前的状态被保存(例如,因为系统需要回收内存),那么在onCreate()中会接收到一个包含先前状态的Bundle对象。 2. **onRestart()**:当Activity被暂停后,再次启动前,系统会调用onRestart()。这个方法紧接着onStart(),意味着Activity即将重新变得可见。 3. **onStart()**:Activity变得对用户可见时调用此方法。如果Activity从不可见转为可见,或者在前台Activity之后出现,onStart()会被调用。接着,要么是onResume(),要么是onStop(),取决于Activity是否继续与用户交互。 4. **onResume()**:Activity开始与用户进行交互时调用,此时Activity位于堆栈顶端,接收用户输入。在这个阶段,你应该确保所有的用户交互都是可以响应的。onResume()后通常会调用onPause(),除非Activity保持在前台。 5. **onPause()**:当系统准备启动另一个Activity时,会调用onPause()。这是保存临时状态、执行轻量级任务或停止资源密集型操作的理想时机,因为下一个Activity必须等待此方法执行完毕才能继续。如果Activity重新获得焦点,它将调用onResume();如果变得不可见,会调用onStop()。 6. **onStop()**:当Activity不再对用户可见时,系统调用onStop()。这可能是因为Activity被完全覆盖,或者用户导航到其他地方。在onStop()中,你应该做任何必要的清理工作,因为它可能是Activity生命周期中的最后一个回调,如果Activity被销毁,系统可能不会调用其他方法。 7. **onDestroy()**:Activity被彻底销毁时调用,这是Activity生命周期的终点。虽然这不是必需的,但通常在这里释放资源和执行最终的清理工作。 理解并掌握这些生命周期方法是Android开发的基础,能够帮助你构建更高效、响应更快的应用,并处理好Activity在各种情况下的状态切换。在面试中,候选人需要能够详细阐述每个方法的作用,并给出在实际开发中如何利用它们来优化应用的例子。