首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Android Studio
华为云
V2EX  ›  Android

RXAndroid 的疑问

  •  
  •   MudBodhisattva · 125 天前 · 624 次点击
    这是一个创建于 125 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人新人一枚,望各位前辈不吝赐教。 当 io 线程完成操作抛到 android 线程去更新 UI 后,这个订阅关系还在吗?还是说从内存中清空了? 如果说内存清空了,订阅关系也没有了,那么一下方法执行完毕之后 CompositeSubscription 我没有 unsubscribe 会怎么样,会造成内存泄漏吗。
    public void data(){ CompositeSubscription.add( …… )

    }

        1
    KNOX   125 天前 via Android
    还在,建议你再看看观察者模式。
        2
    MudBodhisattva   125 天前
    @KNOX 请问我可以在 onNext 里面和 onError 这里对 CompositeSubscription 进行 unsubscribe 吗?
        3
    KNOX   125 天前
    @MudBodhisattva 如果已经添加订阅就可以。
        4
    MudBodhisattva   125 天前
    @KNOX

    final CompositeSubscription mCompositeSubscriptions2 = new CompositeSubscription();
    mCompositeSubscriptions2.add(
    updateData(user)
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Observer<user>() {
    @Override
    public void onCompleted() {

    }

    @Override
    public void onError(Throwable e) {
    mCompositeSubscriptions2.unsubscribe();
    }

    @Override
    public void onNext(user user) {
    mCompositeSubscriptions2.unsubscribe();
    }
    })
    );


    比如说我 add 了好多,然后在其中一个取消订阅所有
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3271 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 06:52 · PVG 14:52 · LAX 23:52 · JFK 02:52
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1