我的 BLE 外围设备的 Android 应用程序写入 2 个不同的设备特征并接收来自其他 2 个的通知。该RxAndroidBle
库的开发人员告诫不要在同一个RxBleConnection
实例上进行多个订阅,但我看不到任何将所有这些 I/O 操作组合成一个的现实方法.subscribe()
,特别是因为其中一个通知是一个相当恒定的数据“消防软管”。
不知道更好,我只是将 存储RxBleConnection
在一个变量中并在多个.subscribe()
s 中使用它。据我所知,这一切正常。我已经调查了RxAndroidBle
图书馆ConnectionSharingAdapter
,但是,虽然我已经分析了代码,但我不明白它比我的简单方法有什么好处(尽管我很想知道)。
一般来说,详细说明多个.subscribe()
s 如何引入状态以及潜在的陷阱会有所帮助。问题:
- 存储
RxBleConnection
在变量中并将其用于多个.subscribe()
s 有什么问题? - 如果这是一个问题,如何
ConnectionSharingAdapter
解决? - 说多个订阅“引入状态”是什么意思,这怎么会导致问题?
- 是否有任何干净的方法将所有四个特征 I/O 操作组合成一个
.subscribe()
(不会降低性能)?