七讲使用Serviceppt课件-PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用Service
使用Service
• 什么是服务(service) • 如何使用服务 • 使用服务进行音乐播放
Service
• 服务是运行在后台的一段代码。它可以运行在它 自己的进程,也可以运行在其他应用程序进程的上 下文(context)里面,这取决于自身的需要。其 它的组件可以绑定到一个服 务(Service)上面, 通过远程过程调用(RPC)来调用这个方法。例 如媒体播放器的服务, 当用户退出媒体选择用户 界面,仍然希望音乐依然可以继续播放,这时就 是由服务 (service)来保证当用户界面关闭时音 乐继续播放的。
Service的生命周期
• startService后,即使调用startService的进程结束了 Service仍然还存在,直到有进程调用stopService,或者 Service自己自杀(stopSelf())就没法了 • bindService后,Service就和调用bindService的进程同生 共死了,也就是说当调用bindService的进程死了,那么它 bind的Service也要跟着被结束,当然期间也可以调用 unbindservice让 Service结束。 • 两种方式混合使用时,比如说你startService了,我 bindService了,那么只有你stopService了而且我也 unbindservice了,这个Servilion
如何使用Service
• 第一种是通过调用Context.startService()启动, 调用Context.stopService()结束,startService()可 以传递参数给Service。 • 第二种方式是通过调用Context.bindService()启动 ,调用Context.unbindservice()结束,还可以通过 ServiceConnection访问Service。二者可以混合 使用,比如说我可以先startService再bindservice 。
进程生命周期
• Android系统将会尝试保留那些启动了的或者是绑定了服 务的进程 • 如果该服务正在进程的onCreate(), onStart(), 或者 onDestroy() 这些方法中执行时, 那么主进程将会成为一个 前台进程,以确保此代码不会被停止 • 如果服务已经开始,那么它的主进程会就重要性而言低于 所有可见的进程但高于不可见的进程, 由于只有少数几个 进程是用户可见的,所以只要不是内存特别低,该服务不会 停止. • 如果有多个客户端绑定了服务, 只要客户端中的一个对于 用户是可见的,即认为该服务可见
使用Service
• 什么是服务(service) • 如何使用服务 • 使用服务进行音乐播放
Service
• 服务是运行在后台的一段代码。它可以运行在它 自己的进程,也可以运行在其他应用程序进程的上 下文(context)里面,这取决于自身的需要。其 它的组件可以绑定到一个服 务(Service)上面, 通过远程过程调用(RPC)来调用这个方法。例 如媒体播放器的服务, 当用户退出媒体选择用户 界面,仍然希望音乐依然可以继续播放,这时就 是由服务 (service)来保证当用户界面关闭时音 乐继续播放的。
Service的生命周期
• startService后,即使调用startService的进程结束了 Service仍然还存在,直到有进程调用stopService,或者 Service自己自杀(stopSelf())就没法了 • bindService后,Service就和调用bindService的进程同生 共死了,也就是说当调用bindService的进程死了,那么它 bind的Service也要跟着被结束,当然期间也可以调用 unbindservice让 Service结束。 • 两种方式混合使用时,比如说你startService了,我 bindService了,那么只有你stopService了而且我也 unbindservice了,这个Servilion
如何使用Service
• 第一种是通过调用Context.startService()启动, 调用Context.stopService()结束,startService()可 以传递参数给Service。 • 第二种方式是通过调用Context.bindService()启动 ,调用Context.unbindservice()结束,还可以通过 ServiceConnection访问Service。二者可以混合 使用,比如说我可以先startService再bindservice 。
进程生命周期
• Android系统将会尝试保留那些启动了的或者是绑定了服 务的进程 • 如果该服务正在进程的onCreate(), onStart(), 或者 onDestroy() 这些方法中执行时, 那么主进程将会成为一个 前台进程,以确保此代码不会被停止 • 如果服务已经开始,那么它的主进程会就重要性而言低于 所有可见的进程但高于不可见的进程, 由于只有少数几个 进程是用户可见的,所以只要不是内存特别低,该服务不会 停止. • 如果有多个客户端绑定了服务, 只要客户端中的一个对于 用户是可见的,即认为该服务可见