1

我有一个应用程序,它有一个 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");
    }

//日志:-

4

1 回答 1

1

根据我从您的查询中了解到的情况,我可以得出结论,由于应用程序在启动之前在 BG 线程中运行,因此它无法分配需要它在 FG 上的 UI 资源(由于跨线程而没有发生问题)。我想你需要在继续之前解决这个冲突。

注意:我不确定这一点。它只是一个观察。希望我的回答对你有所帮助。

于 2012-08-24T03:53:21.650 回答