美文网首页Android开发经验谈
Android的Service使用技巧

Android的Service使用技巧

作者: 纵马横刀pro | 来源:发表于2020-10-12 22:36 被阅读0次
    Service作为几大组件之一使用非常频繁,也有一些相对深入的知识点,但是也有很多比较浅显的特性,却与我们更加息息相关,记住这些特性,性价比极高。
    • 通过bindService方式启动的Service通过同样数量的unbindService可以关闭,且每一个调用了bindServiceContext需要分别调用unbindService

    • 通过startService启动的Service经过同样数量的bindServiceunbindService之后,仍然需要通过stopService关闭。如果提前调用stopService也关闭不掉,需要与bindService相同数量的unbindService被调用后,之前调用的stopService才会生效,此时Service才会关闭

    • 在同一个ContextbindService多次,实际上只相当于bind了一次,可通过一次unbindService就关闭

    • bindService尽量在ActivityContext下调用,不要在ApplicationContext下调用

    • startServicestopServiceApplication或者ActivityContext下都一样

    • 多个Context对同一个Service调用bindService,该Service只会在第一次bind的时候回调onBind,之后的bind不会回调。

    • 通过startService方式启动的Service,如果在onUnbindreturn true,那么在全部Context解绑后但是还没有调用stopService或者stopSelf来关闭时,此时Service依然在运行,下次再有Context来bind的时候,会回调onRebind(见下图)。

      image.png

    参考文献
    https://stackoverflow.com/questions/8788103/android-service-onbindintent-and-onunbindintent-is-called-just-once/8794930
    https://developer.android.com/guide/components/bound-services#Basics

    相关文章

      网友评论

        本文标题:Android的Service使用技巧

        本文链接:https://www.haomeiwen.com/subject/betmpktx.html