当WP7中的FG和BG同步之间发生冲突时会发生什么?

时间:2012-08-23 05:30:43

标签: c# windows-phone-7 tombstoning

我有一个应用程序,它有一个BG模块,每隔4分钟被迫运行一次以进行测试,它运行正常。一旦我启动应用程序(首次启动)并向服务器注册,内容就会显示出来并退出应用程序。该应用程序进入Application_Closing()状态。我等了一会儿(大约15分钟)并尝试启动应用程序,有时会发生这样的情况,在执行MainPage()构造函数后,应用程序被取消激活,并且在调试时从日志中我发现该应用程序已进入到Application_Deactivated()状态。基本上,应用程序启动,它仍然显示启动画面(自定义),它突然终止。因此,在我完成日志之后,有一个问题困扰着我,也就是说,如果在BG任务正在执行其工作的同时启动应用程序,并且FG和BG任务之间存在冲突,无论如何导致应用程序停用?我也怀疑我必须在APp.xaml.cs类的Application_Deactivated()方法中做更多的事情。这是守则。

   private void Application_Deactivated(object sender, DeactivatedEventArgs e)
    {
        Logger.log(TAG, "Application deactivated");
    }
    // Code to execute when the application is closing (eg, user hit Back)
    // This code will not execute when the application is deactivated
    private void Application_Closing(object sender, ClosingEventArgs e)
    {
       if (appSession != null)
        {
            appSession.close();
        }
       Logger.log(TAG, "Application closed");
    }

//记录: -

1 个答案:

答案 0 :(得分:1)

根据我的查询理解,我可以得出结论,由于应用程序在启动之前在BG线程中运行,因此无法分配需要将其放在FG上的UI资源(这不是由于交叉线程问题)。我想你需要在继续之前解决这个冲突。

注意:我不确定这一点。它只是一个观察。希望我的回答可以帮到你。