码迷,mamicode.com
首页 > 移动开发 > 详细

Android 开发中Service完全解析

时间:2018-04-24 17:29:33      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:androi   top   manifest   alt   family   star   手动   联合   style   

 

 

  • 定义:服务,是Android四大组件之一,属于计算型组件

  • 作用:提供 需在后台长期运行的服务

  • 生命周期:

        技术分享图片

   Service的生命周期里,常用的有:

  (1) 4个手动调用的方法

手动调用方法

作用

startService()

启动服务

stopService()

关闭服务

bindService()

绑定服务

unbindService()

解绑服务

  (2) 5个自动调用的方法

内部自动调用的方法

作用

onCreat()

创建服务

onStartCommand()

开始服务

onDestroy()

销毁服务

onBind()

绑定服务

onUnbind()

解绑服务

  • 注意:必须声明在AndroidManifest.xml文件中。(Android四大组件均需要声明在此配置文件中)

  • 使用场景:

(1)仅启动一个后台服务,长期进行某项任务,使用startService;

(2)仅想与后台服务进行通信,使用bindService;

(3)如果一个Service又被启动又被绑定,则该Service会一直在后台运行,既使用startService,又使用bindService。

首先不管如何调用,onCreate始终只会调用一次。对应startService调用多少次,Service的onStartCommand方法便会调用多少次。Service的终止,需要unbindService和stopService同时调用才行。

不管startService与bindService的调用顺序,如果先调用unbindService,此时服务不会自动终止,再调用stopService之后,服务才会终止;如果先调用stopService,此时服务也不会终止,

而再调用unbindService或者之前调用bindService的Context不存在了(如Activity被finish的时候)之后,服务才会自动停止。

  • 对比

(1) Service 与 Thread的区别

 技术分享图片

注:一般会将 Service 和 Thread联合使用,即在Service中再创建一个子线程(工作线程)去处理耗时操作逻辑

(2) Service和IntentService的区别

 技术分享图片

  •  实例

Android 开发中Service完全解析

标签:androi   top   manifest   alt   family   star   手动   联合   style   

原文地址:https://www.cnblogs.com/xuanwei-qingfeng/p/8931024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!