Android服务生命周期回调详解:startService与bindService

需积分: 0 0 下载量 178 浏览量 更新于2024-07-13 收藏 31.03MB PPT 举报
本文档详细介绍了Android应用中服务的生命周期回调方法,对于两种不同的服务启动方式——Context.startService()和Context.bindService(),有着各自的生命周期流程。 对于通过Context.startService()启动的服务,其生命周期方法主要包括以下三个阶段: 1. `onCreate()`:当服务第一次创建时调用,无论后续调用startService()多少次,服务只会创建一次,此方法仅被调用一次。 2. `onStart()`:只有在采用startService()启动服务时,服务开始运行时会回调此方法。即使多次调用startService(),onStart()也会被相应地调用多次。 3. `onDestroy()`:当服务被系统终止时,会执行这个方法。 而对于通过Context.bindService()启动的服务,生命周期流程有所不同: 1. `onCreate()`:同样在服务创建时调用,但不同于startService(),bindService()只会在首次绑定时触发。 2. `onBind()`:当调用者与服务绑定时,该方法被调用。如果多次绑定,此方法只在第一次调用时执行。 3. `onUnbind()`:当调用者与服务解除绑定时,此方法被调用。 特别指出,如果先使用startService()启动服务,然后bindService()进行绑定,再unbindService()解绑,再bindService()重新绑定,这时的生命周期顺序将是`onCreate()` -> `onStart()` -> `onBind()` -> `onUnbind()`(如果unbind()返回true,可能触发onRebind()方法)。 此外,文档还提到了3G通信技术的发展,包括3G(如WCDMA、CDMA2000和TD-SCDMA)与2.5G(如CDMA20001X和GPRS)的区别,以及Android操作系统的基本概念。Android是基于Linux内核的开源平台,由Google发布并逐渐发展成一个开放的手持设备操作系统,由众多企业和联盟成员共同推动,包括HTC、三星、摩托罗拉等,但不包括诺基亚、苹果和微软等公司。