博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rxlifecycle(三):坑
阅读量:6881 次
发布时间:2019-06-27

本文共 2040 字,大约阅读时间需要 6 分钟。

由于rx是从下到上的执行onsubscribe()方法,然后再自上到下的执行subscribe()方法,而rxlifecycle是使用takeUntil方法来停止消息,只能终止当前的上一个onsubscribe()方法的调用,所以顺便不同会出现以下问题

 

坑1

Observable.just("hello world!")            .compose(this.
bindUntilEvent(ActivityEvent.PAUSE)) .flatMap(new Func1
>() { @Override public Observable
call(String s) { return Observable.interval(1, TimeUnit.SECONDS); } }) .subscribe(new Action1
() { @Override public void call(Long aLong) { Log.i(TAG, "....oh,oh,no!!..........." + aLong); } });

 

activity生命周期paused的时候

Log.i(TAG, "....oh,oh,no!!..........." + aLong);

还会执行么??会会...

如果你想全部都不执行:

Observable.just("hello world!")            .flatMap(new Func1
>() { @Override public Observable
call(String s) { return Observable.interval(1, TimeUnit.SECONDS); } }) //fuck....here .compose(this.
bindUntilEvent(ActivityEvent.PAUSE)) .subscribe(new Action1
() { @Override public void call(Long aLong) { Log.i(TAG, "....oh,oh,no!!..........." + aLong); } });

坑2

Observable.interval(1, TimeUnit.SECONDS)            .doOnUnsubscribe(new Action0() {                @Override                public void call() { Log.i(TAG, "Unsubscribing subscription ......"); } }) .doOnNext(new Action1
() { @Override public void call(Long aLong) { Log.i(TAG, "........fuck..........." + aLong); } }) .flatMap(new Func1
>() { @Override public Observable
call(Long aLong) { return Observable.just(aLong + ""); } }) .compose(this.
bindUntilEvent(ActivityEvent.PAUSE)) .subscribe(new Action1
() { @Override public void call(String num) { Log.i(TAG, "..........shit..........." + num); } });

 

activity在paused的时候,

Log.i(TAG, "........fuck..........." + aLong);Log.i(TAG, "..........shit..........." + num);

都不会执行...

而且会unsubscribe

转载地址:http://ocnbl.baihongyu.com/

你可能感兴趣的文章
Qt学习五 - 对话框
查看>>
Android 学习 笔记_12. Spinner的简单实使用
查看>>
手册与参考链接
查看>>
做错的题目——this的指向
查看>>
Struts、JSTL标签库的基本使用方法
查看>>
A Tour of Go Numeric Constants
查看>>
android获取硬件信息
查看>>
计算机操作系统的因果
查看>>
C#中int,string,char[],char的转换(待续)
查看>>
wamp环境的安装
查看>>
BZOJ 4025: 二分图
查看>>
使用百度地图实现详细地址自动补全(补全bug''事件只能绑定到一个上的问题')...
查看>>
Emoji表情处理工具类
查看>>
刚刚考过dev401,出去玩了!有时间我把题目给大家贴出来。
查看>>
不等式解法训练题
查看>>
JavaScriptResult用法
查看>>
Hibernate(一)初始Hebirnate
查看>>
unity_ UI
查看>>
loj#6437. 「PKUSC2018」PKUSC(计算几何)
查看>>
CF1110G Tree-Tac-Toe(博弈论)
查看>>