Android 可流动的,允许在有订阅者/没有订阅者时启动/停止发布

Android 可流动的,允许在有订阅者/没有订阅者时启动/停止发布,android,rx-java2,reactive,Android,Rx Java2,Reactive,我正试图在一个项目中使用rxjava2构建一个通用模式,它将允许两个信号- 知道第一个订户何时订阅 知道最后一个订户何时取消订阅 Flowable不应在最后一个订户取消订阅后终止,允许再次发生#1和#2 这方面的实际用例示例是,根据是否有android服务的订户,了解何时需要注册android服务以及何时可以注销该服务。假设不直接了解UI生命周期 rxjava2的新手,所以请记住这是否是一个基本问题 到目前为止,我已经找到了一种方法来做到这一点。使用FlowableProcessor,使用doO

我正试图在一个项目中使用rxjava2构建一个通用模式,它将允许两个信号-

  • 知道第一个订户何时订阅
  • 知道最后一个订户何时取消订阅
  • Flowable不应在最后一个订户取消订阅后终止,允许再次发生#1和#2

    这方面的实际用例示例是,根据是否有android服务的订户,了解何时需要注册android服务以及何时可以注销该服务。假设不直接了解UI生命周期

    rxjava2的新手,所以请记住这是否是一个基本问题

    到目前为止,我已经找到了一种方法来做到这一点。使用
    FlowableProcessor
    ,使用
    doOnSubscribe
    doFinally
    hasSubscribers
    来获取这两个信号,然而,我很想知道这是否是一种正确的模式,或者是否有更标准的方法来实现这一点。 我看到还有一个
    ConnectableFlowable
    ,但我不知道如何用它实现同样的功能


    谢谢你的帮助,谢谢

    您能更具体地介绍一下用例吗?我是否正确地理解了您想要构建类似于#bindService的东西?当有“订户”时,服务应该是可访问的(例如,创建和注册服务),当最后一个订户取消订阅时,服务应该被终止/停止/不管什么?一些伪代码会很好。