手袋外さずにスマホ操作したいのだが

わざわざ、そんな手袋を買うのもなんだかな。



ランニンググローブ アウトドアグローブ 防寒手袋 ***タッチパネル対応*** 登山 ジョギング サイクリング ハイキング クライミング 通勤通学 秋冬用

タッチペンを100均で買いました!

タッチペン 100均

へんな鈴と合わせて200円でした!

使ってみました。

こんなかんじです。



使い勝手は、

ペン操作に慣れてないせいか

まあまあですが

寒くないので良いですよ!

👉 顔文字/絵文字辞書 単語リスト - Google Play のアプリ 


Rx の Hot が扱うのは State か Event か

RxのHotとColdについて
👉 RxのHotとColdについて - Qiita 

 

なかなか理屈ではくっきり区別しづらくなってきたような気がしています。

kotlin や swift でいうところの

Rx の Hot。

検索キーワードとして

ざっくりと2つに分ける。

 

State


ConflatedBroatcastChannel (Kotlin - Channel)

  ↓

StateFlow (Kotlin - Flow)


BehaviorSubject (RxSwift/RxJava)

  ↓

BehaviorRelay (RxRelay/RxCoCoa)

  ↓

Driver (RxCocoa)

 

Event


BroadcastChannel (Kotlin - Channel)

  ↓

SharedFlow (Kotlin - Flow)


PublishSubject (RxSwift/RxJava)

  ↓

PublishRelay (RxRelay/RxCoCoa)

  ↓

Signal (RxCocoa)

 

まとめ

最近では日本語だけの検索では情報が足りません。

iOS ↔ Android 間の意味合いを考えながら、

まずは、

扱うのが State か Event か、を区別すると理解しやすいと思います。

 

👉 com.jakewharton.rxrelay2 (RxRelay 2.0.0 API) 
👉 ReactiveX/RxSwift: Reactive Programming in Swift 
👉 【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた 
👉 RxSwiftのSubjectとRelayについて理解する - Qiita 
👉 関数型プログラマのための Rx 入門(前編) - Okapies' Archive 
👉 RxSwift/RxRelay at main · ReactiveX/RxSwift 
👉 RxSwift(RxCocoa) における Subject・Relay を理解する - iOSエンジニアのつぶやき 
👉 「Rx」の検索結果 - Qiita 

👉 [B!] Rx の Hot が扱うのは State か Event か 


メモリーリークを防ぐには欠かせない Lifecycle Observer は remove/unregister 不要

「不要」というより「自動」なので超便利。

ここでは、addObserver()の呼び出しはありますが、onDestroyのremoveObserver()の呼び出しはありません。これは意図的なものでしょうか?

LifeCycle Observer は remove/unregister 不要

👉 BoundLocationManager.java at googlecodelabs 

ライフサイクルを考慮した新しいコンポーネントの良い点は、Observer の解除や削除が不要なことです。

👉 Lifecycle Observer is not removed in step_4 · Issue #5 · googlecodelabs/android-lifecycles 


// no need to unsubscribe/remove observers
lifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver {
  override fun onDestroy(owner: LifecycleOwner) {
    container.removeAllViews()
  }
})

拡張関数などでも便利に使えそうです。

👉 LeakCanary