3

BLE 周辺機器用の私の Android アプリは、2 つの異なるデバイス特性に書き込み、他の 2 つのデバイスから通知を受け取ります。ライブラリの開発者はRxAndroidBle、同じインスタンスでの複数のサブスクリプションに対して警告していますが、特に通知の 1 つがかなり一定のデータ「ファイアホース」であるため、RxBleConnectionこれらすべての I/O 操作を単一の に結合する現実的な方法は見当たりません。.subscribe()

よくわからないので、単純に をRxBleConnection変数に格納し、それを複数.subscribe()の で使用しています。私が知る限り、これは正常に機能しています。私はRxAndroidBleライブラリを調査しましConnectionSharingAdapterたが、コードを分析しましたが、私の単純なアプローチに対してどのような利点があるのか​​ わかりません(知りたいのですが)。

.subscribe()一般に、複数の s がどのように状態を導入するか、および潜在的な落とし穴について詳しく説明すると役立ちます。質問:

  1. RxBleConnection変数に格納して複数の s に使用することの何が問題になってい.subscribe()ますか?
  2. これが問題である場合、どのようにConnectionSharingAdapter解決しますか?
  3. 複数のサブスクリプションが「状態を導入する」とはどういう意味ですか? また、これがどのように問題を引き起こす可能性がありますか?
  4. 4 つの特徴的な I/O 操作をすべて 1 つにまとめる.subscribe()(パフォーマンスを低下させない) クリーンな方法はありますか?
4

1 に答える 1