一.基础知识

服务一般分为两种:

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

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

那么先来看Service的生命周期吧:如图:

context.startService() ->onCreate()- >onStartCommand()->Service running--调用context.stopService() ->onDestroy()

context.bindService()->onCreate()->onBind()->Service running--调用>onUnbind() -> onDestroy() 从上诉可以知道分别对应本地的,,以及远程的,也对应不同的方式启动这个服务。

二.注意事项

2.1  同一服务,多次启动,服务实际执行的过程

第一次 启动服务时,运行 onCreate -->onStartCommand

后面在启动服务时,服务只执行onStartCommand

在实际使用过程中,通过Intent 传递数据,在OnStartCommand中执行。

(android实战)Service 生命周期和使用注意项相关推荐

  1. 【Android】Service生命周期回顾

    为什么80%的码农都做不了架构师?>>>    详见 Service生命周期回顾 Android分享 Q群:315658668 转载于:https://my.oschina.net/ ...

  2. Android中Service生命周期、启动、绑定、混合使用

    一.Activity和Service如何绑定: 1.Service和Activity之间的连接可以用ServiceConnection来实现.实现一个ServiceConnection对象实例,重写o ...

  3. Android复习10【Service与Thread的区别、Service的生命周期、Service生命周期解析(相关方法详解、启动方式的不同、绑定)、音乐播放器+服务】

    音乐播放器Android代码下载:https://wws.lanzous.com/ifqzihaxvij 目   录 Service与Thread的区别 Service的生命周期 Service生命周 ...

  4. 【Android】 Android Service生命周期及用法

    原文来自: 首先我们要知道Service具体是干什么的,什么时候用到?以及它的生命周期等. Service概念及用途: Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己 ...

  5. Android(java)学习笔记114:Service生命周期

    1.Service的生命周期         Android中的Service(服务)与Activity不同,它是不能和用户交互,不能自己启动的,运行在后台的程序,如果我们退出应用的时候,Servic ...

  6. Android中bindService的使用及Service生命周期

    Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及 ...

  7. Service 生命周期(理论)

    看了好几篇文章,总结了一下Service的生命周期     图片来源 Service生命周期分为 : 1.手动调用   2.内部自动调用 之前我一直不清楚为什么有两种生命周期 其他像Activity, ...

  8. Android 广播的生命周期

    一:Android 广播的生命周期          一个广播接收者有一个回调方法:void onReceive(Context curContext, Intent broadcastMsg).当一 ...

  9. 深入理解 Android Activity的生命周期

    深入理解 Android Activity的生命周期 2010-10-13 14:08:29|  分类: Android |  标签:周期  调用  activity  android  protec ...

最新文章

  1. hdu 2795 段树--点更新
  2. web 监听器 过滤器等组件
  3. 扎心!程序员旅行却只能紧紧抱着电脑加班?
  4. 嵌入式驱动开发之2440/2410---硬件看门狗,喂狗
  5. 除了工作怎么交朋友_《隐秘的角落》该如何看待孩子在学校交朋友?
  6. C#抽象类和抽象方法的特征和用途
  7. css实现居中的各种方法
  8. 掌业宝服务器维护升级,奇游联机宝APP焕新升级 主机加速多设备各享最优区服...
  9. Centos添加ip黑名单禁止某个ip访问,对登陆失败的主机进行封禁
  10. 高中电子技术——电子元器件的识别
  11. Centos单网卡多IP的配置
  12. Gcc编译选项 -E
  13. Flexsim国外视频教程
  14. pdf转cad格式工具控件pdf2cad
  15. spring boot企业合同管理系统 毕业设计源码161456
  16. 计算机网络之广域网基础以及华为eNSP实验配置
  17. sumif 根据条件求和
  18. Java代码-List集合求交集、补集(差集)
  19. python 数据可视化sns作图
  20. js 前端实现打印功能

热门文章

  1. ActiveMQ简介与安装
  2. 迅为I.MX6Q开发板配不同分辨率不同尺寸液晶屏幕
  3. python 让异常名称显示出来
  4. PHP 依赖注入,从此不再考虑加载顺序
  5. RAC Concept
  6. HTTP Status 403 - Access to the requested resource has been denied
  7. 【转】用nohup命令让Linux下程序永远在后台执行
  8. step5 . day6 网络编程 基于TCP协议的多并发模式(使用多进程、多线程、select函数分别实现)...
  9. Vue (二) --- Vue对象提供的属性功能
  10. 三、依赖注入是什么?