MvvmCross-iOSSupport中的MvxBaseViewController内存泄漏?

时间:2016-10-18 08:37:58

标签: memory-management xamarin.ios mvvmcross

我正在使用iOS支持库中的MvxBaseViewController进行键盘处理。

通过重写dispose,我注意到当从Navigationcontroller弹出时,GC没有收集从MvxBaseViewController继承的视图。

当我在MvxBaseViewController中添加以下内容...

public override void ViewWillDisappear(bool animated)
    {
        base.ViewWillDisappear(animated);

        this.UnregisterForKeyboardNotifications();

        this.View.RemoveGestureRecognizer(this.tap);
    }

...当我在我的视图中添加/删除ShouldReturn委托时......

public override void ViewWillAppear(bool animated)
{
    base.ViewWillAppear(animated);
    this.myTextField.ShouldReturn += this.TextFieldShouldReturn;
}

public override void ViewWillDisappear(bool animated)
{
    base.ViewWillDisappear(animated);
    this.myTextField.ShouldReturn -= this.TextFieldShouldReturn;
}

..然后我的观点被处理掉了。

我是Xamarin的MvvmCross和内存管理的初学者,所以我的问题是:

这种解决方法有任何缺点吗?这是处理这个问题的正确方法吗?

0 个答案:

没有答案