原 Android 使用RxLifecycle解决RxJava内存泄漏
RxLifecycle GitHub地址 RxJava GitHub地址 1.为什么会发生内存泄漏 写段代码测试一下,定义一个Activity,布局中显示一张图片,这样可以直观的看到此Activity的内存占用情况,然后在Activity中发布一个订阅后,关闭Activity,订阅逻辑如下: // 每隔1s执行一次事件 Observable.interval( 1 , TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( new Observer<Long>() { @Override public void onSubscribe (@NonNull Disposable d) { } @Override public void onNext (@NonNull Long aLong) { Log.i( "接收数据" , String.valueOf(aLong)); } @Override public void onError (@NonNull Throwable e) { } @Override public void onComplete () { } }); 1 2 3 4 5 6 7 8 9 10 11 12 13