Service的两种启动方法和区别.docx

上传人:牧羊曲112 文档编号:3165677 上传时间:2023-03-11 格式:DOCX 页数:2 大小:37.13KB
返回 下载 相关 举报
Service的两种启动方法和区别.docx_第1页
第1页 / 共2页
Service的两种启动方法和区别.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Service的两种启动方法和区别.docx》由会员分享,可在线阅读,更多相关《Service的两种启动方法和区别.docx(2页珍藏版)》请在三一办公上搜索。

1、Service的两种启动方法和区别Android Service 两种启动方式的区别 最近在debug android service destory的bug,网上找了service相关的知识,startservice和bindservice都可以启动service,知道这两种方式的区别还是很有作用的。 Android Service 生命周期可以促使移动设备的创新,让用户体验到最优越的移动服务,只有broadcast receivers执行此方法的时候才是激活的,当 onReceive返回的时候,它就是非激活状态。 如果没有程序停止它或者它自己停止,service将一直运行。在这种模式下,s

2、ervice开始于调用Context.startService ,停止于Context.stopService. service可以通过调用Android Service 生命周期 或 Service.stopSelfResult停止自己。不管调用多少次startService ,只需要调用一次 stopService 就可以停止service。 可以通过接口被外部程序调用。外部程序建立到service的连接,通过连接来操作service。建立连接调开始于Context.bindService, 结束于Context.unbindService. 多个客户端可以绑定到同一个service,如果

3、service没有启动, bindService 可以选择启动它。 服务不能自己运行,需要通过调用Context.startService或Context.bindService方法启动服务。这两个方法都 可以启动Service,但是它们的使用场合有所不同。使用startService方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服 务仍然运行。使用bindService方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的 特点。 如果打算采用Context.startService方法启动服务,在服务未被创建时,系统会先调用服务的

4、onCreate方法,接着调用onStart方法。如果调用startService方法前服务已经被创建,多次调用startService方法并不会导致多次创建服务,但会导致多次调用onStart方法。采用startService方法启动的服务,只能调用Context.stopService方法结束服务,服务结束时会调用onDestroy方法。 如果打算采用Context.bindService方法启动服务,在服务未被创建时,系统会先调用服务的 onCreate方法,接着调用onBind方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind方 法,接着调用onDestroy方法。如果调用bindService方法前服务已经被绑定,多次调用bindService方法并不会导致 多次创建服务及绑定(也就是说onCreate和onBind方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用 unbindService方法,调用该方法也会导致系统调用服务的onUnbind-onDestroy方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号