前言
内存泄漏问题一直是android开发的一个大问题,RxJava已经深入人心,但是RxJava的使用不当会导致内存泄漏。RxJava本是一个减少我们代码量,方便我们使用的一个库。但是由于我们要解决内存泄漏,就变得麻烦起来。那本来一个简单方便的东西,又要由于其他的处理变得麻烦,叫人恶心。之前有一个RxLiycycle库来进行内存管理,但是这个并不完美,在Github上也可以看出它的做者也更倾向于AutoDispose,AutoDispose这个库也有RxLicycle作者的贡献。而且本博客的作者也习惯使用了AutoDispose,并且一直在使用着,本篇博客只教会如何使用AutoDispose
本篇博客的Demo可以查看码云
https://gitee.com/song_cn/AutoDispose
一、添加依赖
由于是解决RxJava的内存泄漏,所以依赖着里不仅导入了AutoDispose,还添加了RxJava和Retrofit
api 'com.squareup.okhttp3:logging-interceptor:3.5.0'
api 'com.squareup.retrofit2:retrofit:2.3.0'
api 'com.squareup.retrofit2:converter-gson:2.3.0'
api 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
api 'io.reactivex.rxjava2:rxjava:2.2.8'
api 'io.reactivex.rxjava2:rxandroid:2.1.1'
//AutoDispose解决RXJava内存泄漏
api 'com.uber.autodispose:autodispose:0.7.0'
api