Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。
 
使用context.startService() 启动Service是会会经历:
context.startService()  ->onCreate()- >onStartCommand()->onStart()->Service running
context.stopService() | ->onDestroy() ->Service stop 
 
如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次。 
 
stopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。该Service的调用者再启动起来后可以通过stopService关闭Service。

所以调用startService的生命周期为:onCreate --> onStart(可多次调用) --> onDestroy

如果调用了下面的代码:

android.os.Process.killProcess(android.os.Process.myPid());

System.exit(0);

onCreate就会调用多次。

关于 service相关推荐

  1. struts2 与 sping 整合 控制器中 service注入的问题

    以个人见解认为struts1 与spring整合的时候按照习惯,我们会把 action 控制器直接配置到sping中去: eg : 这里以使用元注解方式实现Service注入进行讲解: 控制器关键代码 ...

  2. java action dao_java中Action层、Service层和Dao层的功能区分

    一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...

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

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

  4. CentOS7下启动Nginx出现Failed to start nginx.service:unit not found

    错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1.    在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...

  5. CentOS7 service network start命令启动时报错解决方法

    service network start命令启动时报错: [root@localhost network-scripts]# service network start Starting netwo ...

  6. android Service 的使用

    1 Service 简介 Service 是Android 四大组件之一 一般在后台运行,无用户界面,用户无法看到. Service主要用于组件之间交互(例如:与Activity.ContentPro ...

  7. Web Service 安全性解决方案(SOAP篇)

    拼吾爱程序人生 » 软件编程 » Visual Studio.NET » Web Service » Web Service 安全性解决方案(SOAP篇) Web Service 安全性解决方案(SO ...

  8. Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**

    之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...

  9. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

    首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...

  10. k8s nodeport无法访问_k8s学习之service详解

    1.概述 通过Deployment来创建一组Pod来提供具有高可用性的服务.每个Pod都会分配一个单独的Pod IP,却存在如下两问题: 1.pod ip仅仅集群内部可见的虚拟IP,外部无法访问 2. ...

最新文章

  1. 由于目标机器积极拒绝,无法联接。microsoft sql server,错误:10061
  2. SAP 财务模块 FI-TV 差旅管理
  3. 线程WAITING--BlockingQueueDemo
  4. webso员ket php,客戶端和PHP後端通信:Sokets,Stream,TCP/UDP?
  5. java读取一个应用程序_Java IO – 在写入其他应用程序时读取一个大文件
  6. Integer 与 int 中的 ==
  7. BFS - 求最短路径
  8. 蓝桥杯 BASIC-8 基础练习 回文数
  9. RHEL 7.2 源码安装Python 3.6.2报错
  10. 命令行构建Unity项目
  11. 计算机符号链接是什么意思,Windows或Linux上的符号链接(符号链接)完整指南
  12. 美国服务器电影网站版权问题,为什么说选择美国服务器做电影网站比较好
  13. c++ string assign和operator=
  14. nian shi ti是什么鬼????
  15. android执行lua脚本的方法,android执行lua脚本的方法
  16. Nature重磅!在机器人骨架上首次生成人类肌腱细胞
  17. mysql CONFLICT 冲突
  18. linux 指定磁盘盘符,使用udev指定盘符
  19. FCPX插件:CineFlare Tunnels(20个静态和深度隧道过渡和效果)
  20. 不可见字符​​​“​\u200b“的坑

热门文章

  1. 使用rman备份到挂载的NFS目录,提示ORA-19504-27054报错
  2. 《Effective C++》 总结篇(模板与泛型编程)
  3. 在PPT 2010“切换”效果变少,该如何处理?
  4. 静电势能的计算(格林函数思想以及有限元工程化方法)
  5. 自动驾驶汽车的安全技术特点
  6. Predicting Malicious Behavior: Tools and Techniques for Ensuring Global Security
  7. 矩阵分析之 实矩阵分解(2)LU,PLU分解
  8. 免费升级到 iOS 17 Developer Beta:官方Apple Store升级方案与爱思助手方法比较
  9. 哪家的蓝牙耳机质量比较好?2022真无线蓝牙耳机排名
  10. python资料全集