是否收集了Xamarin Forms导航堆栈垃圾?当我单击按钮并使用Navigation.PushAsync()打开页面时,它会将其他页面保留在导航堆栈中还是重新存储内存?
答案 0 :(得分:1)
导航堆栈是一个Stack接口,您通常可以将其视为抽屉中的一堆银器。当您将抽屉添加到抽屉时,将其放在其他叉子的顶部,当您移除叉子时,始终移除顶部的叉子。堆栈是先进先出数据类型。但是当你在顶部添加一个叉子时,所有其他叉子仍然在它下面。
这与导航堆栈相同。使用PushAsync(newPage)
添加页面时,newPage
位于导航堆栈的顶部,但之前的所有页面仍位于其下方。这样,当您致电PopAsync()
时,您将返回上一页,而不必完全重新制作它。