这可能是一个愚蠢的问题,但我想知道何时使用bindService和何时使用startService.
例如:
如果我用bindService用BIND_AUTO_CREATE,该服务将启动,并为这里写的自动创建:http://developer.android.com/reference/android/content/Context.html#BIND_AUTO_CREATE
什么时候智能,然后使用bindService什么时候startService?我真的不明白这两个.
Ovi*_*tcu 75
bindService()如果您的调用组件(Activity)需要与Service您正在启动的组件进行通信,通常会使用ServiceConnection.如果你不想与Service你沟通,你可以使用startService().您可以在服务和绑定服务之间看到以下差异.
来自文档:
入门
当应用程序组件(例如活动)通过调用startService()启动它时,服务"启动".一旦启动,服务可以无限期地在后台运行,即使启动它的组件被销毁.通常,已启动的服务执行单个操作,并且不会将结果返回给调用者.例如,它可能通过网络下载或上载文件.操作完成后,服务应自行停止.
界
当应用程序组件通过调用bindService()绑定到它时,服务被"绑定".绑定服务提供客户端 - 服务器接口,允许组件与服务交互,发送请求,获取结果,甚至跨进程间通信(IPC)进行交互.只要绑定了另一个应用程序组件,绑定服务就会运行.多个组件可以立即绑定到服务,但是当所有组件解除绑定时,服务将被销毁.
ben*_*huk 22
我同意@Ovidiu Latcu但有一个重要的注意事项:当使用绑定服务时,服务在启动它的活动结束时结束(如果它是绑定到该服务的唯一活动).
因此,如果您希望在应用程序处于后台时在后台运行您的服务(例如,活动暂停并且用户不可见),那么您必须启动服务而不受其限制并与之通信,BroadcastReceiver例如.
| 归档时间: |
|
| 查看次数: |
25322 次 |
| 最近记录: |