カブトムシの壺

消しゴム付き鉛筆

RxLifecycle、調べたことメモ(1)



  • RxLifecycleは、RxJavaのObserverをAndroidのライフサイクルにバインドすることで、メモリリークやクラッシュを回避するためのライブラリ

  • Androidは通信処理をメインスレッドで行うことが出来ない。そのような非同期処理はAsyncTaskを使う。その際に、Callbackを使って結果に対しての処理を書くが、そのCallbackを使うときにActivityやFragmentが破棄されているとクラッシュする。

  • そこで、RxLifecycle

  • RxJavaの処理をAndroidのFragmentやActivityのライフサイクルにバインドすることで、そのライフサイクルのタイミングで処理を中断したりする。

 

  • RxJavaのcomposeメソッドで呼び出されるonCreate - onDestoryといった始まりと終わりに対応したライフサイクルで破棄されるbindToLifecycle、任意のイベントにバインドするbindUntilEventがある。

 


参考URL