我目前有一个应用程序由于页面转换错误而无法通过认证。
该问题对时间非常敏感,但可以通过以下方式重现:
- 启动应用程序 - 等待主页显示
- 导航到子页面
- 导航开始后,点击开始按钮
- 然后点击后退按钮 - 子页面在那里
- 然后点击后退按钮 - 主页不存在 - 这是一个空白屏幕
如果我点击屏幕锁定按钮,然后解锁手机,那么页面就会正常出现。
没有数据原因,我可以看到为什么主页没有显示,所以感觉这与页面过渡有关。
有使用以下设置:
var navInTransition = new NavigationInTransition
{
Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardIn },
Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardIn }
};
var navOutTransition = new NavigationOutTransition
{
Backward = new TurnstileTransition { Mode = TurnstileTransitionMode.BackwardOut },
Forward = new TurnstileTransition { Mode = TurnstileTransitionMode.ForwardOut }
};
TransitionService.SetNavigationInTransition(this, navInTransition);
TransitionService.SetNavigationOutTransition(this, navOutTransition);
如果我删除此转换代码,那么我的应用程序永远不会"卡住"。
以前有人见过这样的事情吗?有没有人知道如果页面过渡卡住,我如何在代码中工作 - 如果是这样,我就可以重新启动它们?
如果这仅在 256MB 设备上,则可能是与内存相关的问题。在这种情况下,请尝试禁用过渡。
按照 http://www.developer.nokia.com/Community/Wiki/Best_practice_tips_for_delivering_apps_to_Windows_Phone_with_256_MB 的建议
或者,您可以尝试只删除动画的一侧。我过去遇到过过渡问题(对不起,不记得确切的细节),这些问题已通过删除NavigationOutTransition
得到解决。