,如果用户使用网页需要大量的RAM,Android会同步的杀掉后台服务进程直到浏览器对内存的需求降低。
服务可以更深层次的讨论它们被认为是“前台”的行为。这里服务就处在一个“请不要杀掉我”的状态,但是这需要它包含一个给用户的积极运行的通知。这对于后台播放音乐或车载导航的服务非常有用,因为用户知道(aware of)这些;当你播放音乐和使用浏览器时,你可以经常在状态栏上看到音乐播放的标记(glyph)。Android不会尝试去杀掉这些服务,不过作为一种交换(trade-off),要保证用户知道它们并且可以在需要时明确的停止。
通用组件的值
Android的通用的广播接收器和服务组件允许开发者创建一个广泛的多种多样的有效后台操作,包括一些最初从没有考虑过的事情。在Android 1.0,它们被用来实现近乎所有内置的后台行为和所有的Google应用:
音乐播放运行在服务中,当用户离开音乐程序时允许继续对其进行操作。
闹钟通过闹钟管理器安排一个广播接收器,在下一次设置时间响起(go off)。
日历程序同样地(likewise)在下一个日历事件中安排一个闹钟在适当时间来显示或更新它的通知。
当进程中有下载时,后台文件下载通过服务来实现。
电子邮件程序安排一个闹钟每隔一段时间或由新邮件到来时来唤醒一个服务。
Google应用程序维护一个服务来接收网络上的通知,并依次(in turn)发送广播给那些需要做工作的单独的程序比如同步联系人。
随着平台的演化,这些基本的组件用来实现很多重要的新的开发特性:
输入法被开发者用服务组件来实现了,Android管理和使用其为当前的输入法。
程序的widget(窗体小部件)是广播接收器,当其需要交互时,Android就给它发送一个广播。这需要widget很轻量级的,并不需要它的程序进程一直保持运行。
可接入特性(Accessibility features)是用服务实现的,使用时由Android维持运行并发送适当的用户交互的信息。
同步适配器是在Android2.0中引入的,它是运行在后台的服务,当特殊的数据同 需要时被执行。
活动壁纸是一个服务,当被用户选择时就会被Android启动。