-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ProtectedUnPeekLiveData为什么不能直接持有Observer? #11
Comments
您可以先 fork 和提交您改进的代码,不然缺乏一致的前提依据来有效交流。 |
ProtectedUnPeekLiveData自持有observer及其proxy,在removeObserver(observer: Observer)时到observerProxyMap中获取相应的observer,而不是反射mObservers。
} |
感谢你的分享,刚刚测试了一番,上述代码的设计十分精妙, 对于非粘性的 observe 是当页面离开时即移除 observe,而粘性的 observe 则得以保留, 如此即使不使用反射,也能规避页面重建时,非粘性 observe 的重复创建和内存占用。 · 为此,可以邀请你 pull request 一稿上述的代码设计吗?(作为 V6 版) 上述设计使 UnPeek-LiveData 变得更好,开源并不是一个人的战斗,我们希望越来越多 “对开源项目作出过有效贡献的开发者” 出现在 Contributions 名单中。 (考虑到多数开发者阅读 Java 源码的需要,后续我们会翻译成 Java 代码,和基于 “唯一可信源” 理念对 setValue 等方法的访问权限做些微调。当然你若愿意主动翻译那更好了。) |
你这边直接拿去用即可。另,我只是实现了我的一个想法,并没有充分测试哈,小心有坑! |
好的,感谢,我们会在 v6 版源码中注明贡献者和出处。 |
逻辑比 V5 清晰了很多。 |
少了这个方法! |
如题,反正LiveData已经通过mObservers持有了Observer,再多一次持有也无所谓吧?
ProtectedUnPeekLiveData重写removeObserver()清理就好了嘛。
The text was updated successfully, but these errors were encountered: