【问题标题】:Xamarin Forms navigation stack memoryXamarin Forms 导航堆栈内存
【发布时间】:2017-03-18 12:04:16
【问题描述】:

是否收集了 Xamarin Forms 导航堆栈垃圾?当我单击按钮并使用 Navigation.PushAsync() 打开页面时,它会将其他页面保留在导航堆栈中还是释放内存?

【问题讨论】:

    标签: c# garbage-collection xamarin.forms


    【解决方案1】:

    Navigation stack 是一个 Stack 接口,你通常可以把它想象成抽屉里的一堆银器。当您将叉子添加到抽屉时,您将它放在其他叉子的顶部,并且当您移除叉子时,您总是移除最上面的叉子。堆栈是先进后出的数据类型。但是,当您在顶部添加一个叉子时,所有其他叉子仍然在它下方。

    这与导航堆栈相同。当您使用PushAsync(newPage) 添加页面时,newPage 位于导航堆栈的顶部,但它之前的所有页面仍位于其下方。这样,当您拨打PopAsync() 时,您将返回上一页,而不必完全重新制作它。

    【讨论】:

    • 没问题,很高兴我能帮上忙!
    • 点击后退并转到 newPage 后出现错误 NulReferenceException
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 2018-11-15
    相关资源
    最近更新 更多