0

我理解 Windows Phone 7 导航的方式是,每次您想要转到另一个页面时,您都会使用以下内容:

this.NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative));

在页面之间来回切换(例如 4 个)之后,这不会随着时间的推移创建大量对象;因为你每次都在创造一个新的?这会变成“内存不足”的问题吗?我只是想确保在进一步进行任何开发之前了解其工作原理的结构。

4

1 回答 1

1

NavigationService.Navigate在向前导航时使用,但NavigationService.GoBack在返回时使用。因此,backstack 不应该无限增长。

此外,如果您需要在前向循环(MainPage -> Page1 -> Page2 -> MainPage)之后再次到达主页,最好清除后退堆栈。这样,用户将能够通过单击后退按钮退出应用程序,而不是再次经历所有循环。要从后台堆栈中删除页面,请使用NavigationService.RemoveBackEntry()

while (this.NavigationService.BackStack.Any())
{
   this.NavigationService.RemoveBackEntry();
}
于 2013-10-11T15:07:04.843 回答