4.5. Service

优质
小牛编辑
130浏览
2023-12-01

4.5.Service

Service运行于后台,没有任何用户界面。它们就像是没有界面的Activity,适合于那些需要执行一段时间、但是不需要考虑如何显示的操作。比如,我们希望在移出音乐播放器的窗口之后,播放器依然可以播放歌曲。

Note:

不要将Android的Service与Linux的原生服务、服务器进程或者守护进程相混淆。它们都是操作系统的部件,要底层的多。

图 4.3. Service 的生命周期

Service的生命周期要比Activity简单不少,要么启动,要么停止,如图4.3 Service的生命周期。同时,Service的生命周期受开发者影响较多,而受系统控制相对较少。因此身为开发者,我们需要小心对待Service,避免它无谓地浪费资源(比如CPU和电池)。

Note:

虽说Service运行于后台,但这并不是说它默认执行于另一个独立的线程中。如果一个Service需要执行一段耗时的操作(比如网络调用),依然需要程序员将它放在单独的线程中处理。否则,你的用户界面将响应不灵。一言以蔽之,Service默认与Activity在同一个线程中执行,而这个线程也被称作UI线程。