【问题标题】:RxKotlin - Process gets terminated when dispose is calledRxKotlin - 调用 dispose 时进程终止
【发布时间】:2019-03-20 04:14:30
【问题描述】:

我正在尝试通过 rxkotlin 上传图像,我的问题是当我在我的应用程序中关闭屏幕时,上传过程被终止,因为我将该订阅添加到我的处置中,所以当我的屏幕关闭或销毁时,我将处置.因为这个处置我的工作被终止了,因为无论如何我需要处置否则它会导致内存泄漏

fun uploadImage(imagePath : String){
   uploadToServer(imagePath)
        .subscribe()
        .addTo(disposal)   
}

override onCleared(){
   disposal.dispose()
}

所以我这样做了,有没有其他方法可以继续这项工作,即使在屏幕破坏或清除后没有内存泄漏?

【问题讨论】:

    标签: android rx-java rx-kotlin


    【解决方案1】:

    ViewModel 独立于活动/片段生命周期或只是它们的配置更改类,因为只有在活动完成后才会调用onCleared。所以不要在onCleared 上处理 Rx 变量。最好将它们丢弃在onDestroy

    override onDestory(){
    super.onDestroy()
    disposal.dispose()
    }
    

    【讨论】:

    • 即使在销毁该活动时我也需要继续工作。
    • 你应该为此使用服务
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 2011-01-21
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多