[Android] 如何在 Activity 或者 Fragment 的生命周期结束时停止订阅 Observable
来源:互联网 发布:数据质量系统 编辑:程序博客网 时间:2024/04/28 05:03
NavUtil
利用 NavUtil,你可以在 Activity 或 Fragment 的生命周期发生变化时,停止订阅你的 Observable。Usage
首先,需要初始化 NavUtil 单例然后,在Activity 中,为你的 Observable 应用 compose 操作符,如下所示:public class App extends Application { @Override public void onCreate() { super.onCreate(); NavUtil.init(this); }}
在 Fragment 中的用法如下所示:Observable.interval(1, TimeUnit.SECONDS) .compose(NavUtil.<Long>subscribeUtilEvent(this, LifecycleEvent.ON_STOPPED)) .subscribe(new Subscriber<Long>() { @Override public void onCompleted() { Log.d(TAG, "onStart onCompleted() called"); } @Override public void onError(Throwable e) { Log.d(TAG, "onStart onError() called with: e = [" + e + "]"); } @Override public void onNext(Long aLong) { Log.d(TAG, "onStart onNext() called with: aLong = [" + aLong + "]"); } });
目前支持的生命周期事件如下所示:Observable.interval(1, TimeUnit.SECONDS) .compose(NavUtil.<Long>subscribeUtilEvent(this, LifecycleEvent.ON_PAUSED)) .subscribe(new Subscriber<Long>() { @Override public void onCompleted() { Log.d(TAG, "onCompleted() called"); } @Override public void onError(Throwable e) { Log.d(TAG, "onError() called with: e = [" + e + "]"); } @Override public void onNext(Long aLong) { Log.d(TAG, "onNext() called with: aLong = [" + aLong + "]"); } });
public enum LifecycleEvent { ON_PAUSED, ON_STOPPED, ON_SAVE_INSTANCE_STATE, ON_DESTROYED, ON_VIEW_DESTORYED, ON_DETACHED,}
Gradle
compile 'com.legendmohe.maven:navutil:x.y'
查看原文:http://legendmohe.net/2017/01/23/android-%e5%a6%82%e4%bd%95%e5%9c%a8-activity-%e6%88%96%e8%80%85-fragment-%e7%9a%84%e7%94%9f%e5%91%bd%e5%91%a8%e6%9c%9f%e7%bb%93%e6%9d%9f%e6%97%b6%e5%81%9c%e6%ad%a2%e8%ae%a2%e9%98%85-observable/
0 0
- [Android] 如何在 Activity 或者 Fragment 的生命周期结束时停止订阅 Observable
- Android填坑之旅(第二十篇)如何在Activity/Fragment结束时处理异步回调?
- Android Activity Fragment 生命周期
- Android Activity Fragment 生命周期
- Android Fragment---与Activity生命周期的协调
- Android Fragment---与Activity生命周期的协调
- Android Fragment---与Activity生命周期的协调
- Android Fragment---与Activity生命周期的协调
- Android Activity和Fragment的生命周期图
- android Activity与fragment的生命周期
- Android Fragment---与Activity生命周期的协调
- Android Fragment---与Activity生命周期的协调
- Android Fragment---与Activity生命周期的协调
- android activity与fragment的生命周期
- Android Fragment---与Activity生命周期的协调
- Android Activity和Fragment的生命周期
- Android中Activity与Fragment的生命周期
- android 中activity 和Fragment 的生命周期
- 飞思卡尔IMX6处理器的GPIO配置方式
- ubuntu下使用qemu模拟ARM(四)-------编译busybox
- spring sse 技术2
- Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架(注解模式哦)
- 怎样升级spark集群到更新的版本?
- [Android] 如何在 Activity 或者 Fragment 的生命周期结束时停止订阅 Observable
- Wordpress的钩子(hook)
- CodeForces 59CTitle 模拟+回文
- Tengine详细安装教程
- spring sse 3
- STM8 UART中断发,中断收
- Java开发代码性能优化总结
- java 中>>>的含义
- 契约——程序足够快