我发现在Windows 8应用程序中,当导航回此页面时,总是会再次调用Page的构造函数,但在Windows Phone 7应用程序中并非如此。
由于这种行为,该页面的所有属性都会丢失,您需要以某种方式存储它们并在重新激活页面后重新分配它们。目前,我使用SaveState
方法保存数据并使用LoadState
方法重新分配数据。这两种方法都内置在Grid / Split App示例中。
我想知道为什么它是这样设计的,如果有更好的方法来维护页面的实例?
答案 0 :(得分:5)
您可以为要保留在内存中的每个页面设置Page.NavigationCacheMode = NavigationCacheMode.Required,但请注意,您必须确保用户无法无休止地浏览这些页面,因为这会泄漏内存。