前言:

   其實(shí)RxJava引起的內(nèi)存泄漏是我無意中發(fā)現(xiàn)了,本來是想了解Retrofit與RxJava相結(jié)合中是如何通過適配器模式解決的,結(jié)果卻發(fā)現(xiàn)了RxJava是會(huì)引起內(nèi)存泄漏的,所有想著查找一下資料學(xué)習(xí)一下如何解決RxJava引起的內(nèi)存泄漏,就查到了利用Rxlifecycle開源框架可以解決,今天周末就來學(xué)習(xí)一下如何使用Rxlifecycle。

引用泄漏的背景:

    RxJava作為一種響應(yīng)式編程框架,是目前編程界網(wǎng)紅,可謂是家喻戶曉,其簡潔的編碼風(fēng)格、易用易讀的鏈?zhǔn)椒椒ㄕ{(diào)用、強(qiáng)大的異步支持等使得RxJava被廣泛使用,它通過線程調(diào)度器更容易控制和切換線程,如果該工作線程還沒執(zhí)行結(jié)束就退出Activity或者Fragment,就會(huì)Activity或者Fragment無法釋放引起內(nèi)存泄漏。

什么是Rxlifecycle?

  rxlifecycle是trello開發(fā)的用于解決RxJava引起的內(nèi)存泄漏的開源框架。



復(fù)制代碼
compile 'com.trello:rxlifecycle:1.0'

// If you want to bind to Android-specific lifecycles
compile 'com.trello:rxlifecycle-android:1.0'

// If you want pre-written Activities and Fragments you can subclass as providers
compile 'com.trello:rxlifecycle-components:1.0'

// If you want to use Navi for providers
compile 'com.trello:rxlifecycle-navi:1.0'

// If you want to use Kotlin syntax
compile 'com.trello:rxlifecycle-kotlin:1.0'
復(fù)制代碼

根據(jù)自己的需要添加 我這里使用了如下兩個(gè)

 compile 'com.trello:rxlifecycle:1.0'
 compile 'com.trello:rxlifecycle-components:1.0'

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式