【Kotlin】ぼくらは Flow の マーブルダイアグラム を見るのか。

ドキュメントや関連記事を見てもよく意味が分からないような複雑なオペレーターの機能が、一見するだけでで分かることがよくありました。

Reactivex-FlatMap
👉 ReactiveX - FlatMap operator 

Kotlin Flow のオペレーターたちも、これらの名前や機能を元に作られているので、上記 ReactiveX サイトのマーブル図を見れば大体は分かりますが。

Kotlin Flow 向けにも公開してる方がいます。

マーブルをドラッグもできます。

FlowMarbles
👉 FlowMarbles 

ソースコードも確認できるようです。

👉 rougsig/flowmarbles: Interactive diagrams of Kotlin Flow https://flowmarbles.com 


複数の Flow を受け取る How to collect multiple flows

パラレルで同じライフサイクルの場合だけども。

flow-lifecycle



launch をネストしていますね!


Medium.com で表示

👉 A safer way to collect flows from Android UIs | by Manuel Vivo | Android Developers | Medium 


【Kotlin】StateFlow は distinctUtilChanged 不要

distinctUntilChanged

StateFlow のインスタンスは、distinctUtilChanged 演算子がに適用されているように動作するので、distinctUntilChanged を StateFlow に適用しても効果はないことに注意してください。

👉 distinctUntilChanged 

オペレータの組み合わせ
flowOn、conflate、buffer CONFLATED/RENDEZVOUS、capacity、distinctUntilChanged、cancelable のいずれかの演算子を StateFlow に適用しても効果はありません。

👉 StateFlow 

SharedFlow で StateFlow を作ることができます。StateFlow は ある設定をした SharedFlow です。



👉 StateFlow の View への公開 
👉 【MVVM】Flow vs LiveData 
👉 【Kotlin】SharedFlow と BroadcastChannel