Android Service 介绍

来源:互联网 发布:windows10软件下载 编辑:程序博客网 时间:2024/05/04 17:13

定位:后台组件

应用场景:网络事务(如下载)、播放音乐、执行文件I/O、与内容提供程序交互等等

类型:启动和绑定
1、启动
应用组件(比如Activity)通过调用startService()启动服务。一旦服务开启,可以在后台无限期运行(可以用此来做应用包活),即使该调用组件被销毁,服务也不会停止。只有当服务操作完成,它会自动停止运行。通常服务是单一操作,不需要将操作结果返回给应用组件。

2、绑定
另一种方式是应用组件通过bindService()绑定到服务。此时,组件和服务之间类似于服务器和客户端的模式,组件可以被允许与服务进行交互、发送请求、获取结果。只有当服务被绑定时,服务才被运行。这里的服务可以被多个组件绑定。当该服务对应的所有绑定全部取消后,其对应的服务才被销毁。

上述两种方式可以被单独分开使用,也可以结合一起使用,只要实现对应的回调方法OnStartCommond()和OnBind()即可,后面给出相应的例子。

默认情况下,服务和声明它的应用在同一进程,并且运行在应用的主线程。因此如果服务与该应用的Activity之间进行密集型交互或阻止型操作,则会降低该应用性能,对应的方法是在Service中开启新的子线程。

原创粉丝点击