zoukankan      html  css  js  c++  java
  • 关于service相关知识的认识

            做android的程序开发也有了许久了,当做一个大程序的时候,越来越发现service是非常有用的方法,当你想后台运行数据或者音乐播放操作的时候,都可以才有service,根据实际情况,写成local service还是remote service,来帮助整个应用更加稳定。

    网上关于service的文章很多,我自己在用的时候也在最初有很多不解,我在这里当作自己的只是备份。

          1、什么时候会调用OnDestroy()呢?

            最初我是直接连接adb,把我运行起来的service 杀掉,但是我发现他不会进入OnDestroy(),最后发现,只有调用了stopService()或者调用了stopSelf()的时候,才会触发起OnDestroy,也就是如果我们的service

    因为程序逻辑或者变量空指针异常等挂掉时候,是不会调用OnDestroy()。

         2、程序里什么都没有设置,但是service被自己kill掉后,为什么又可以看到自己启动起来了?

           那是因为,Service在被启动起来后,在执行onStartCommand的时候,flags为START_STICKY_COMPATIBILITY,就是说Service在被kill后,是有可能会被重新启动的,这样的返回值一共有四个,分别为

          START_STICKY   如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。

          START_NOT_STICKY    service被异常kill掉,系统不会自动重启该服务。

          START_REDELIVER_INTENT   如果service进程被kill掉,系统会自动重启该服务,并将Intent的值传入。

          START_STICKY_COMPATIBILITY    和START_STICKY 差不多,但是不保证服务被kill后一定能重启。

          我在网上看了这个资料,可以帮助深入了解一些这几个返回值http://blog.csdn.net/veryitman/article/details/7600008

         今天先写这么多,后续继续写》》》》

  • 相关阅读:
    linux kill命令以及 信号
    rhel7 系统服务——unit(单元)
    redis集群在线迁移
    二、主目录 Makefile 分析(3)
    二、主目录 Makefile 分析(2)
    二、主目录 Makefile 分析(1)
    一、文档目录分析
    Linux下解压缩
    设备树
    轮询
  • 原文地址:https://www.cnblogs.com/candycaicai/p/3414205.html
Copyright © 2011-2022 走看看