gpt4 book ai didi

windows-phone - Windows Phone 8.1 中是否有替代 BackgroundTask 的方法?

转载 作者:行者123 更新时间:2023-12-04 06:04:09 24 4
gpt4 key购买 nike

我有一个要移植到 8.1 的 Windows Phone 8.0 应用程序。在 8.0 中,我非常依赖 BackgroundWorker 来执行我不想消耗 UI 线程的任务。

我会创建 BackgroundWorker,定义 DoWork() 委托(delegate),然后立即执行 RunWorkerAsync()

现在在 8.1 中,我不能再使用 BackgroundWorker 了。相反,我需要创建实现 IBackgroundTask 的任务并使用 IBackgroundTrigger 对象运行它们。

似乎我需要跳过很多圈才能在不同的线程上运行代码。如果我想立即运行一个后台任务,我创建一个时间触发的后台任务,其中包含一个新的 oneShot TimeTrigger(),新鲜度为 0 分钟?这似乎有点像黑客..

BackgroundTask 有替代品吗?我应该以不同的方式满足我的要求吗?

最佳答案

要在不同的线程上运行任何东西,您只需调用:

Task.Run(delegate() {
// The work to be executed on the background thread
});

你也可以以非阻塞的方式await这个,以防你想在不同线程的工作完成后做一些事情。

IBackgroundTask 是完全不同的东西。当您希望在应用未运行时的某个事件上执行某些代码时使用它。例如,如果您想每 30 分钟更新一次动态磁贴,您可以使用后台任务来实现该接口(interface)。

关于windows-phone - Windows Phone 8.1 中是否有替代 BackgroundTask 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com