
获得徽章 3
- 看到英文文章中 “LiveData 不应在 Repository 中使用” 的观点 “人传人”,这里简要分享下我的看法。
proandroiddev.com
事实上,文中提及的核心问题在于:对 Transformation 等过度设计的类的使用,导致 LiveData 的观察者回调在接触 Activity/Fragment 之前被调用,从而在回调中因执行耗时逻辑而导致主线程阻塞。
因而,问题的关键在于 Transformation 这些过度设计的类,也即,“不是 LiveData 本身应该出现在哪,而是 LiveData 的观察者回调应该出现在哪”。
所以对此问题妥当的描述应是:“建议通过 Kotlin Flow 或 RxJava 来取代 Transformation 等过度设计的类”、“建议 LiveData 的观察者回调只用于最终的 Activity/Fragment”,而不是 “LiveData 不应在 Repository 中使用”,
事实上如果你不曾使用那些过度的设计的类,那么在 Repository 通过 ViewModel 注入的 LiveData 来回推数据完全没问题。展开15 - 梳理了 LeetCode / 剑指 offer 及国内外大厂面试题解,语言 Java 和 kotlin ,每题都有多种解法、解题思路、时间复杂度、空间复杂度分析,题库逐渐完善中,欢迎前去查看。
剑指 offer 及国内外大厂面试题解:
在线阅读:offer.hi-dhl.com
LeetCode 系列题解:
在线阅读:leetcode.hi-dhl.com
展开评论15