使用PropertyChanged或WeakSubscribe?

时间:2015-05-06 12:49:27

标签: xamarin mvvmcross

跟踪房产变更的最佳方式是什么?

我有以下问题,为什么我无法做出决定。 - PropertyChanged可以防止垃圾收集收集使用自己的PropertyChanged事件的ViewModel吗? - 当用于跟踪ViewModels自己的属性更改时,WeakSubscribe是否会随时消失?

有没有人测试过这个或者只是知道答案?

1 个答案:

答案 0 :(得分:2)

一般情况下,如果您使用the value of "ININ-ICWS-CSRF-Token" is "WAhtYWxoYXlla1dBY2NvUkRJWCQxZmUxZWFhZS0xZTE0LTQyNGYtYjdhZS0zNmZjN2MxYWJmODBYCjEwLjAuNC4xNjA=" the value of the "cookie" is "ININ-ICWS-CSRF-Token: WAhtYWxoYXlla1dBY2NvUkRJWCQxZmUxZWFhZS0xZTE0LTQyNGYtYjdhZS0zNmZjN2MxYWJmODBYCjEwLjAuNC4xNjA=" 强订阅,则不会遇到问题....但是,在某些情况下,这可能会导致"泄漏" - 例如如果您订阅的子对象的生命周期长于"正常" ViewModel(例如单件服务)。

为了安全起见,您可以使用PropertyChanged - 只要您在视图的成员字段中存储WeakSubscribe调用中返回的令牌的引用,那么这将确保订阅保持有效,至少只要您的视图在内存中。

无论强弱,还有一个额外的目标是尽可能早地尝试发布事件订阅(强或弱)。这将有助于防止在View消失后触发事件回调。