APP开发公司浅谈service的不同形式,Service是一个可以在后台长时间运行而不提供用户界面的应用组件。服务可由其他应用组件启动,即使用户切换到其他应用,服务仍将在后台继续运行。此外,组件可以绑定到服务,与之进行交互,甚至是执行进程间通信(IPC)。例如,服务可以处理网络事务、播放音乐、执行文件I/O或与内容提供程序交互,所有这一切均可在后台进行。
Service有两种不同形式:启动和绑定。
(1)启动
当应用组件(如Activity)通过调用startService()启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响。已启动的服务通常是执行单一操作,而且不会将结果返回给调用方。例如,它可能通过网络下载或上传文件,操作完成后服务会自行停止运行。
(2)绑定
当应用组件通过调用bindService()绑定到服务时,服务即处于“绑定”状态。绑定服务提供了一个客户端——服务器接口,允许组件与服务进行交互、发送请求、获取结果,甚至是利用进程间通信(IPC)跨进程执行这些操作。仅当与另一个应用组件绑定时,绑定服务才会运行。多个组件可以同时绑定到该服务,但全部取消绑定后,该服务即被销毁。
服务可以同时以这两种形式运行,既可以是启动服务(无限期运行),也允许绑定,只需要在服务中实现两个回调方法,即onStartCommand()允许组件开启服务,onBind()允许绑定。深圳APP开发公司本文关于“APP开发service的不同形式”的知识就介绍分享到这里,谢谢关注,博纳网络编辑整理。