android Service分析和总结分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/allin/archive/2010/05/15 /1736462.html /newcj/archive/2011/05/ 30/2061370.html 1、Service 的种类 类别区别 类别 区别 优点 缺点 应用 该服 服务依附在主进程上而不是独立的进程, 非常常见的应 务依 这样在一定程度上节约了资源,另外 主进程被 用如:HTC 的音 本地服务 附在 Local 服务因为是在同一进程因此不需要 Kill 后,服务 乐播放服务,天 (Local) 主进 IPC,也不需要 AIDL。相应 bindService 便会终止。 天动听音乐播放 程上, 会方便很多。 服务。 该服务是独 服务为独立的进程,对应进程名格式为所 该服 立的进程,会 在包名加上你指定的 android:process 一些提供系统 务是 占用一定资 远程服务 字符串。由于是独立的进程,因此在 独立 源,并且使用 (Remote) Activity 所在进程被 Kill 的时候,该服务 服务的Service, 这种 Service 是 的进 依然在运行,不受其他进程影响,有利于 AIDL 进行 IPC 稍微麻烦 常驻的。 程, 为多个进程提供服务具有较高的灵活性。 一点。 其实 remote 服务还是很少见的,并且一般都是系统服务。 按运行类型分类: 类别 区别 应用 前台 会在通知一栏显示 ONGOING 的服务 Notification, 当服务被终止的时候,通知一栏的 Notification 也会消失,这样对于用户有一定的通知作用。常见 的如音乐播放服务。 默认的服务即为后台服务,即不会在通 默认的服务即为后台服务,即不会在通 当服务被终止的时候,用户是看不到效果的。某些 后台 服务 知一栏显示 ONGOING 的 Notification。 不需要运行或终止提示的服务,如天气更新,日期 同步,邮件同步等。 有同学可能会问,后台服务我们可以自己创建 ONGOING 的 Notification 这样就成为前台服务吗?答案是否定的,前台服务是在做了上述工作之后需要调用 startForeground ( android 2.0 及其以后版本 )或 setForeground (android 2.0 以前的版本)使服务成为 前台服务。 这样做的好处在于,当服务被外部强制终止掉的时候, ONGOING 的 Notification 任然会移除掉。 按使用方式分类: 类别 startService 启动的服务 区别 主要用于启动一个服务执行后台任务,不进行通信。停止 服务使用 stopService bindService 启动的服务 startService 同时也 bindService 启动的服务 该方法启动的服务要进行通信。停止服务使用 unbindService 停止服务应同时使用 stepService 与 unbindService 以上面三种方式启动的服务其生命周期也有区别,将在随后给出。 2、Service 与 Thread 的区别 很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来解释一下。 Thread:Thread 是程序执行的最小单元,它是分配 CPU 的基本单位。可以用 Thread 来执行一些异步的操作。 Service:Service 是 android 的一种机制,当它运行的时候如果是 Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是 Remote Service,那么对应 的 Service 则是运行在独立进程的 main 线程上。因此请不要把 Service 理解成线程,它跟线程半毛钱的关系都没有! 既然这样,那么我们为什么要用 Service 呢?其实这跟 android 的系统机制有关,我们先拿 Thread 来说。Thread 的运行是独立于 Activity 的,也就是说当一个 Activity 被 finish 之后,如果你没有主动停止 Thread 或者 Thread 里的 run 方法没有执行完毕的话,Thread 也会一直执行。因此这里会出现一个问题:当 Activity 被 finish 之后,你不再持有该 Thread 的引用。另一方面,你没有办法在不同的 Activity 中对同一 Thread 进行控制。 举个例子:如果你的 Thread 需要不停地隔一段时间就要连接服务器做某种同步的话,该

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档