AutoDispose解决RxJava内存泄漏
依赖项:
//AutoDispose解决RxJava内存泄漏implementation 'androidx.appcompat:appcompat:1.0.2'implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'implementation 'com.uber.autodispose:autodispose:1.1.0'implementation 'com.uber.autodispose:autodispose-android:1.1.0'implementation 'com.uber.autodispose:autodispose-android-archcomponents:1.1.0'implementation 'com.uber.autodispose:autodispose-android-archcomponents-test:1.1.0'
代码样例:
Observable.interval(1, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) //AutoDispose RxJava内存泄漏处理 //.as(AutoDispose.<Long>autoDisposable(AndroidLifecycleScopeProvider.from(SecondActivity.this, Event.ON_DESTROY))) .subscribe(new Observer<Long>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(Long aLong) { } @Override public void onError(Throwable e) { } @Override public void onComplete() { } });使用AndroidStudio中的profile进行内存分析查看:点击这个图标启动app,选择你的手机,对应包名,双击MEMORY视图查看使用AutoDispose于不使用的区别看对应类内存是否回收了注意点:
项目依赖的是下面这两个,否则直接使用support-v7中的AppCompatActivity调用接口时类型匹配不上
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
```
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。