Android面试必备:Activity与Service生命周期详解

需积分: 3 1 下载量 160 浏览量 更新于2024-09-09 收藏 12KB DOCX 举报
"Android面试知识点概览" 在Android开发领域,面试通常会涵盖多个核心概念,包括Activity和Service的生命周期管理。以下是对这两个关键组件的详细解释: 1. Activity的生命周期: Activity是Android应用中的用户界面组件,其生命周期是开发者必须理解和掌握的关键点。主要的生命周期方法包括: - onCreate():Activity首次创建时调用,用于初始化UI和数据。 - onRestart():当Activity由停止状态恢复到可见状态时调用。 - onStart():Activity变得对用户可见但不一定是前台活动时调用。 - onResume():Activity成为前台活动并接受用户交互时调用。 - onPause():Activity即将失去焦点,但仍然可见(例如,新Activity打开或显示了半透明对话框)时调用。 - onStop():Activity完全不可见时调用,可能会被系统销毁。 - onDestroy():Activity即将被系统销毁时调用,可能是由于内存压力或用户手动结束。 在启动Activity A后,再启动Activity B时,生命周期按照上述顺序进行。当按下后退键退出B时,Activity A会重新进入视野,遵循相应的恢复流程。 2. Service的生命周期: Service是后台运行的服务,不提供用户界面,用于执行长时间操作。 - startService()启动的Service生命周期: - onCreate():Service创建时调用,仅当Service首次启动时。 - onStartCommand():每次通过startService()发送Intent时调用,可以返回服务的运行策略。 - 运行中:Service执行任务,直到服务被停止(通过stopService()或stopSelf())。 - onDestroy():服务停止时调用。 - bindService()启动的Service生命周期: - onCreate():首次绑定到Service时调用。 - onBind():客户端绑定到Service时调用,需要返回IBinder接口供客户端通信。 - 运行中:Service持续运行,只要至少有一个客户端与其绑定。 - onUnbind():所有客户端都解绑后调用,表明不再有客户端需要Service。 - onDestroy():当Service不再需要且系统决定释放资源时调用。 理解Activity和服务的生命周期对于优化应用性能和正确处理用户交互至关重要。在面试中,面试官可能还会询问如何处理内存管理、线程同步、BroadcastReceiver、ContentProvider、Intent机制等方面的问题。熟练掌握这些知识点将有助于在面试中表现出专业水平。