Windows phone 7 快速切换Windows Phone(7.8)

Windows phone 7 快速切换Windows Phone(7.8),windows-phone-7,Windows Phone 7,我有点困惑,如果我真的需要做什么快速切换。似乎如果我不使用媒体元素、相机和插座,我就可以免费获得这种“快速切换” 但我不知道如何测试它。我在哪里看了几段视频 点击Windows图标(开始图标) 点击后退按钮 或 按住后退按钮,直到获得屏幕视图 转到其他应用程序 回到你的应用程序 这两个似乎都加载得很快,但如果 加载应用程序 点击windows图标 点击tile应用程序 在这一点上应该快速切换,还是加载一个新的应用程序实例来杀死旧的应用程序?所以这有点让人困惑。我花了很长时间才明白他们的真正意思

我有点困惑,如果我真的需要做什么快速切换。似乎如果我不使用媒体元素、相机和插座,我就可以免费获得这种“快速切换”

但我不知道如何测试它。我在哪里看了几段视频

  • 点击Windows图标(开始图标)
  • 点击后退按钮
  • 按住后退按钮,直到获得屏幕视图
  • 转到其他应用程序
  • 回到你的应用程序
  • 这两个似乎都加载得很快,但如果

  • 加载应用程序
  • 点击windows图标
  • 点击tile应用程序

  • 在这一点上应该快速切换,还是加载一个新的应用程序实例来杀死旧的应用程序?

    所以这有点让人困惑。我花了很长时间才明白他们的真正意思

    对于更复杂的应用程序来说,什么是快速切换参考。利用需要保存状态的内容的应用程序

    例如,如果您正在创建导航应用程序。您正在导航,然后离开应用程序。当你返回该应用程序时,它应该显示“正在恢复…”指示灯,然后将你的应用程序恢复到以前的状态

    这里是FAS上的第9频道视频

    这里还有关于它的MSDN文章

    在这一点上应该进行快速切换,还是加载一个新的应用程序实例来杀死旧的应用程序实例

    在这种情况下,将启动您的新实例

    事实上,这有点让人困惑,但没那么多

    • 应用程序可以关闭(按Windows键或按BAck键一段时间)或退出(按主菜单中的BAck键)。接下来,应用程序进入休眠状态,它保存内存中的所有内容。你的电话号码会上升
    • 因此,如果您只是重新激活它(通过按Back并选择您的应用程序,或者如果堆栈中没有其他内容,则只按Back),它将被恢复。ApplicationActivated事件将随着e.IsApplicationInstancePreserved=true而上升
    • 如果您使用大量其他应用程序(设备将耗尽内存),您的应用程序将进入逻辑删除状态。然后,您需要恢复所有数据。e、 IsApplicationInstancePreserved将为false
    • 若你们想重新启动你们的应用程序(通过点击互动程序),那个么新的实例将被启动,而应用程序启动将被提升

    作为开发人员,快速切换并不是您真正关心的问题。你需要担心的是“墓碑效应”——当有人离开你的应用程序时,你需要保存状态:当用户切换回它时,作为开发人员,你必须假设你的应用程序实际上是从头重新启动的,需要重新加载保存的状态。这就是
    应用程序启动
    应用程序激活
    之间的区别(用户从开始屏幕重新启动应用程序,而应用程序已暂停,现在正在恢复,但从头开始)


    在早些时候,这是应用程序切换工作的唯一方式。后来添加了快速应用程序切换,只是简单地更改了合同,这样有时你的应用程序会在停止的地方恢复,而不会被删除。这取决于内存等,但这对用户来说只是一个好处,在许多情况下,用户将不再需要等待应用程序重新加载其墓碑状态。作为开发人员,您仍然必须假设您将被埋葬。

    这里涉及到不同的概念:

    -第一件事是快速应用程序恢复,这是windows phone 8的一项新功能,您可以启用它,这样当您按下应用程序磁贴时,它不会重新启动您的应用程序,而是保留相同的实例(默认情况下,它只会关闭应用程序并重新创建一个新实例,就像应用程序从未打开一样)。你可以找到更多的信息

    -第二个概念是快速应用程序切换和逻辑删除。您可以找到有关应用程序生命周期的更多信息。基本上,当你按下windows按钮或导航到另一个应用程序时,你的应用程序将进入休眠状态。在此状态下,应用程序未运行,但仍在内存中。当你回去的时候,因为一切都还在记忆中,所以一切都应该像过去一样。在快速应用程序切换的情况下要处理的主要情况是,当您的应用程序被停用时,所有的网络连接都会被终止,因此您应该确保返回时不会显示任何web错误消息对话框,并且您可以重新执行任何失败的web请求

    应用程序的第二种可能状态是,在应用程序处于休眠状态后,打开几个应用程序,设备内存不足,然后它将选择删除应用程序。在这种状态下,您的应用程序将从内存中删除,因此您尚未保存的任何内容都将丢失。当你返回到你的应用程序时,它将返回到用户以前所在的页面并重新创建它
    这意味着要在应用程序停用之前处理此情况,您应该:

    • 保存可能未通过导航参数传递的任何特定于上下文的数据
    • 可能保存用户当前正在执行的操作(例如,如果用户当前正在输入一个长文本,则最好保存该文本,以便用户不必从头开始重新输入)
    • 保存当前滚动位置或类似所选项目的内容可能是一个加号
    此外,当应用程序恢复时,您必须确保重新查询所有需要的信息。例如,如果您在主页的OnNavigatedTo中加载一些数据(例如,从web服务器加载),然后在不重新查询的情况下重用详细信息页面上的数据,就会出现中断。如果您在详细信息页面,请按开始按钮,然后执行其他操作,当您返回到应用程序时,数据将不可用(因为内存已“清除”且已导航到主页,因为它将