2010-11-25 90 views
2

我刚刚了解如何在页面和墓碑之间导航。我想知道是否有人能指点我一些很好的例子,它不仅向我展示了如何正确使用导航的基础知识,而且还介绍了更复杂和先进的导航问题的好例子?导航和墓碑 - 最佳实践

  • 我在浏览其他页面和导航时遇到了一些内存泄漏问题?
  • 当页面完成其工作后(我不想在它完成后我将其实例挂起)时,是否有关闭页面调用?
  • 另一个问题是如何保持状态,如果应用程序得到墓碑(仍然试图围绕这个词包装我的头)。

谢谢!

回答

4

没有关闭页面调用,操作系统在退出并释放已用内存时自动关闭页面(所以这里不应该有泄漏)。

这里的一些资源涵盖了墓碑和高级导航概念。

Understanding the Windows Phone Application Execution Model, Tombstoning, Launcher and Choosers, and Few More Things That Are on the Way – Part 1Part 2Part 3

Introducing the concept of “Places” - Peter Torr's Blog

Redirecting an initial navigation - Peter Torr's Blog

1

我喜欢考虑WP7导航,就像只有后退按钮的简单浏览器。 Naviation模型基于堆栈模式(后进先出),需要通过全部才能返回到第一页。这不是PC用户习惯的,但在移动世界是最好的解决方案之一。 你必须坚持这种模式,永远不要“去主页”按钮 - 你的应用程序不会肯定通过认证(有一些解决方案与优秀,但我wouldnt推荐)。 很多页面可以让用户生气,这就是为什么一个好主意最多有3到5页。例如,第一页用户选择他要做什么,下一页是登录页面,然后是更复杂的界面使用全景和透视控制。

给简单的浏览器模型添加cookie。当你的浏览器加载一个页面时,它会设置一个包含一些信息的cookie,然后关闭浏览器,当你回到页面时,它可以从该cookie获得以前的状态。墓碑是非常小的。 - link。一些更多info about tombstoning

我在浏览其他页面和导航时遇到了一些内存泄漏问题?

你是什么意思的内存泄漏?你在托管框架中工作。

当页面完成其工作后(我不想在它完成后我将它的一个实例挂起)时,是否有关闭页面调用?

你不必这样做。每当你进入下一页时页面被破坏,除非线程仍然在那里工作。

另一个问题是如何保持状态,如果应用程序得到墓碑(仍然试图围绕这个词包装我的头)。

基本上是要开发管理这个。这不是强制性的,但提供了不错的用户体验。

1

另一个问题是我如何保持状态,如果该应用程序被墓碑(仍然试图环绕这个词我的头)。

使用隔离储存。

0

你可以看看到哥伦布MVC框架,我最近出版的WP7源代码(http://columbus.codeplex.com/)。哥伦布解决导航和墓碑(提供强大的类型导航历史和视图模型,可以生存立碑)。