获得徽章 0
关注了标签 Kotlin Kotlin
Android工程师
Android工程师
Android工程师
Android工程师
Android工程师
赞了这篇沸点
看到英文文章中 “LiveData 不应在 Repository 中使用” 的观点 “人传人”,这里简要分享下我的看法。

proandroiddev.com

事实上,文中提及的核心问题在于:对 Transformation 等过度设计的类的使用,导致 LiveData 的观察者回调在接触 Activity/Fragment 之前被调用,从而在回调中因执行耗时逻辑而导致主线程阻塞。

因而,问题的关键在于 Transformation 这些过度设计的类,也即,“不是 LiveData 本身应该出现在哪,而是 LiveData 的观察者回调应该出现在哪”。

所以对此问题妥当的描述应是:“建议通过 Kotlin Flow 或 RxJava 来取代 Transformation 等过度设计的类”、“建议 LiveData 的观察者回调只用于最终的 Activity/Fragment”,而不是 “LiveData 不应在 Repository 中使用”,


事实上如果你不曾使用那些过度的设计的类,那么在 Repository 通过 ViewModel 注入的 LiveData 来回推数据完全没问题。
展开
1
Android工程师
关注了标签 ReactiveX ReactiveX
Android工程师
关注了标签 MVP MVP
Android工程师
关注了标签 ORM ORM
Android工程师
Android工程师
Android工程师
关注了标签 Markdown Markdown
Android工程师
关注了标签 腾讯 腾讯
Android工程师
关注了标签 Go Go
Android工程师
Android工程师
Android工程师
关注了标签 微信 微信
Android工程师
Android工程师
下一页