Open bennyhuo opened 5 years ago
666👍🏾👍🏾👍🏾👍🏿👍👍🏻👍🏻👍🏿👍🏽
activity是java写的如何使用作用域呢
@l123456789jy activity是java写的如何使用作用域呢
想了下你还是把 Activity 转 Kotlin 吧。虽然 Java 也可以构造作用域,但感觉就是自找麻烦。
@enbandari 是的目前是转kt在这样搞
请问下如果结合ViewModel是不是会更好一些,因为viewmodel内部直接给我们提供了viewscope作用域,如果想cancel的话直接继承viewmodel 并重写 onCleard() { viewscope.cancel() } 这样就可以
@HexlDL 当时写这篇文章的时候大概几乎同时 Google 才发布了你说的 ViewModelScope。要不然我都懒得写这个框架~
@HexlDL 请问下如果结合ViewModel是不是会更好一些,因为viewmodel内部直接给我们提供了viewscope作用域,如果想cancel的话直接继承viewmodel 并重写 onCleard() { viewscope.cancel() } 这样就可以
我看viewModelScope,会在ViewModel.clear()方法中被cancel()掉,应该不用我们主动去重写onCleard()然后cancel()吧
@ZhZhZhen
@HexlDL 请问下如果结合ViewModel是不是会更好一些,因为viewmodel内部直接给我们提供了viewscope作用域,如果想cancel的话直接继承viewmodel 并重写 onCleard() { viewscope.cancel() } 这样就可以
我看viewModelScope,会在ViewModel.clear()方法中被cancel()掉,应该不用我们主动去重写onCleard()然后cancel()吧
确实是的 重写Closeable的Close(),调用coroutineContext.cancel()取消
https://www.bennyhuo.com/2019/05/27/coroutine-android/#more
Android 上面使用协程来替代回调或者 RxJava 实际上是一件非常轻松的事儿,我们甚至可以在更大的范围内结合 UI 的生命周期做控制协程的执行状态~