我的Xamarin Forms应用程序中有两页,我正在尝试进行基本导航:
public partial class Page1
{
void OnAddButtonClicked (object sender, EventArgs args)
{ Navigation.PushAsync (new Page2 ()); }
}
public partial class Page2
{
~Page2()
{ Debug.WriteLine ("Page2.~Page2()"); }
protected override void OnAppearing ()
{ Debug.WriteLine ("Page2.OnAppearing()"); }
protected override void OnDisappearing ()
{ Debug.WriteLine ("Page2.OnDisappearing()"); }
}
public class App : Application
{
public App()
{
MainPage = new NavigationPage(new Page1());
}
}
当我点击按钮时,第二页会根据需要显示,当我单击后退按钮(操作系统后退按钮或标题栏中的左箭头)时,它会返回到第一页但是有什么关系我是我的第二页永远不会被破坏。我意识到垃圾收集器只要它很好就会运行,但我可以多次在页面之间切换(每次都创建一个新的Page2)并且在没有触摸应用程序的情况下坐下几分钟,并且没有任何Page2对象被破坏。
official documentation没有说明破坏旧页面的内容,但stackoverflow上还有另一个帖子暗示我负责页面的生命周期。那么我的最终答案是什么?我是否需要手动破坏我的页面,或者Xamarin最终会为我处理这个问题?