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

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

  • 相关阅读:
    弹性网卡支持私网多IP
    微服务浪潮中,程序猿如何让自己 Be Cloud Native
    Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
    如何更高效的管理原生微服务应用
    如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes
    PHP flock文件锁
    MySQL锁(MyISAM和InnoDB)
    汽车操作系统革命:封闭还是开源?
    采集百度top500歌曲,python2.7.2
    关于revision 的cover letter
  • 原文地址:https://www.cnblogs.com/candycaicai/p/3414205.html
Copyright © 2011-2022 走看看