【问题标题】:background task timeline in windows phone 8.1windows phone 8.1 中的后台任务时间线
【发布时间】:2014-06-12 19:46:31
【问题描述】:

我正在将后台任务用于应用程序中的各种功能。在 MSDN 文档中没有,我看到它运行了多长时间。

例如在 windows phone 8 sdk 中,周期性代理通常运行 25 秒。后台任务是否有特定的运行量?

StorageFolder folder = KnownFolders.PicturesLibrary;
StorageFile TimeLogFile = await folder.CreateFileAsync("TimeLog.txt", CreationCollisionOption.OpenIfExists);

await Windows.Storage.FileIO.AppendTextAsync(TimeLogFile, "Start Logging " + DateTime.Now.ToString() + Environment.NewLine);
await Windows.Storage.FileIO.AppendTextAsync(TimeLogFile, "Beginning of Background Task " + DateTime.Now.ToString() + Environment.NewLine);

for (int i=0;i<100000;i++)
{
    await Windows.Storage.FileIO.AppendTextAsync(TimeLogFile, "During Background Task Execution " + DateTime.Now.ToString() + Environment.NewLine);
    Debug.WriteLine(i);
}
await Windows.Storage.FileIO.AppendTextAsync(TimeLogFile, "End Logging " + DateTime.Now.ToString() + Environment.NewLine);

【问题讨论】:

    标签: c# windows-runtime windows-8.1 windows-phone-8.1 background-task


    【解决方案1】:

    这是您要查找的信息:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh977056(v=win.10).aspx

    基本上,后台任务每次启动只能使用 CPU 2 秒。但是,如果它不执行 CPU 密集型工作,它可以活动更长时间。如果您等待一些不占用过多 CPU 的慢速程序,您可能会执行几分钟。

    【讨论】:

    • @golldy 可以分享运行 10 分钟的代码吗?那是相当长的。另外,您是否在没有调试的情况下在 Release 中对其进行了测试?另外,这些文档不是您想要的信息吗? (所以我知道你在找什么。:))
    • 检查我所做的编辑。这就是我所做的一切。简单的长数字循环。
    • @golldy 你没有回答我的其他问题 :) 请回答(回答所有问题)。我只是在我测试的设备上测试了它,在 Release 中,没有调试,它只运行了大约 3-4 秒。 :?
    • 测试版本号。我没有那样做。还有....3 到 4 秒?如果您使用的是示例代码,那么可能是因为它仍然有 //_periodicTimer = ThreadPoolTimer.CreatePeriodicTimer(new TimerElapsedHandler(PeriodicTimerCallback), TimeSpan.FromSeconds(1));
    猜你喜欢
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多