您的位置:首页 > 职场人生

【安卓面试笔记】Service(四)

2015-10-21 22:51 543 查看
1.Service的特点:

  在android中,Service本身和Activity没有太大的区别,主要在于一个可见,一个不可见。Service属于后者。同时Service和其他主件有着许多相同的地方:需要注册,需要在主线程中等等。在主线程中就意味着不能进行耗时操作,例如网络耗时操作。解决办法和Activity一样,开一个子线程去进行耗时操作。

  

服务一般分为两种:

1:本地服务, Local Service 用于应用程序内部。在Service可以调用Context.startService()启动,调用Context.stopService()结束。在内部可以调用Service.stopSelf() 或 Service.stopSelfResult()来自己停止。无论调用了多少次startService(),都只需调用一次stopService()来停止。

2:远程服务, Remote Service 用于android系统内部的应用程序之间。可以定义接口并把接口暴露出来,以便其他应用进行操作。客户端建立到服务对象的连接,并通过那个连接来调用服务。调用Context.bindService()方法建立连接,并启动,以调用 Context.unbindService()关闭连接。多个客户端可以绑定至同一个服务。如果服务此时还没有加载,bindService()会先加载它。

提供给可被其他应用复用,比如定义一个天气预报服务,提供与其他应用调用即可。

Service的生命周期吧:如图:


从图中我们注意到两者的区别:

OnBind 和 OnStart

Bind是约束,绑定的意思,这里的理解是绑定的服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: