windows-phone-7 - 我有一个 Windows Phone 7 应用程序,如何确保它支持快速任务切换?

标签 windows-phone-7

作为开发人员,我需要什么才能确保我的应用程序支持快速任务切换?

理想情况下,我正在寻找类似的开发人员注意事项 list 。

我进行了搜索,但我发现的一切都让我觉得我错过了一些东西,更多的是营销而不是开发人员步骤和技术细节。

谢谢!

最佳答案

FAS 的大部分工作都是自动为您处理的。要记住的主要事情是墓碑对您的应用程序意味着什么。当通过 FAS 恢复时,目的是您不必取消墓碑,因此通常不需要恢复 View 模型状态或类似的东西。您需要为几个地方编写代码 - 这是一个快速检查 list 。

PhoneApplicationPage.OnNavigatingFrom - 试验您正在使用的控件,以确保 FAS 恢复为您准备的数据。例如 - TextBox 控件可以正确记住您放入其中的所有内容,但 MediaElement 不记得视频或其播放头的位置。

PhoneApplicationPage.OnNavigatedTo - 您在 OnNavigatingFrom 中保存的任何内容都需要在 OnNavigatedTo 中重新应用。例如 - 将视频源重新加载到 MediaElement,重新定位视频并重新启动它。

Application.Activated - 此事件的事件参数现在包含一个名为 IsApplicationInstancePreserved 的属性。当应用程序通过 FAS 返回时,此属性返回 TRUE,当应用程序从逻辑删除返回时返回 FALSE。所以你会有这样的代码:

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    if (!e.IsApplicationInstancePreserved)
    {
        RestoreStateFromTombstone();
    }
}

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
    SaveStateForTombstone();
}

这就是要领。我还没有对 FAS 基础设施进行任何真正的压力测试,看看它在哪里中断,但这对我迄今为止所做的实验很有帮助。

有关更多信息,请查看 MIX11 session 上的一个名为 Get Ready for Fast Application Switching 的短视频。由 Adina Trufinescu 介绍,其中提供了有关 FAS 的更多详细信息,这绝对帮助我入门。

/克里斯

关于windows-phone-7 - 我有一个 Windows Phone 7 应用程序,如何确保它支持快速任务切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099861/

相关文章:

visual-studio-2010 - 如何在VMware中运行Windows Phone模拟器

c# - 不允许对 IsolatedStorageFileStream 进行操作。错误

windows-phone-7 - Windows Phone 7 键盘尺寸

c# - Silverlight 与 XNA 对比纯 HTML5

silverlight - MVVM Light EventToCommand 在 WP7 Pivot DataTemplate 中不起作用

file - 如何从网络服务器将文件保存在 wp7 的应用程序沙箱中?

c# - 创建声音循环

windows-phone-7 - 安装 VS 2012 的 Windows Phone SDK

c# - 振动直到消息框关闭 Windows Phone 7

visual-studio - Visual Studio Express for Phone 7 系列会破坏 Visual Studio 2010 吗?