首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 8.1上运行频繁的后台任务

在Windows 8.1上运行频繁的后台任务
EN

Stack Overflow用户
提问于 2014-08-04 14:01:04
回答 2查看 2.7K关注 0票数 3

Windows平台提供BackgroundTasks基础设施。我可以这样注册我的任务:

代码语言:javascript
复制
builder.TaskEntryPoint = TaskName;
var trigger = new TimeTrigger(15, false);

builder.SetTrigger(trigger);
builder.Register();

问题是,TimeTrigger的最小间隔是15分钟,对于我的应用程序来说,这是相当大的。我需要在后台每1-2分钟执行一次任务。在Windows上有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-04 14:47:54

BackgroundTasks不可能在一分钟间隔的基础上运行。正如你已经说过的,最小间隔是15分钟。

这是一个操作系统限制,以防止开发人员构建耗尽电池的应用程序。

您总是有一些解决办法,比如有一个PushNotificationTrigger,并设法每分钟向设备发送一个推送通知。(我想有些人用ScheduledToastNotification就能做到这一点),但我不想再提了。

票数 3
EN

Stack Overflow用户

发布于 2014-08-04 14:48:21

使用官方API的AFAIK -不可能这么频繁地运行TimeTrigger。请注意,在WIndows电话上,间隔甚至更大(MSDN):

Windows有内置计时器,每隔15分钟运行后台任务.请注意,在Windows上,间隔为30分钟。

我怀疑这是可能的,因为电池的条件/限制。也许你可以把你的应用程序留在前台,禁用锁屏(通过使用DisplayRequest)。

此外,您还可以尝试运行一个计时器,同时在BackgroundTask中获得延迟。我没有尝试过,肯定会有很多问题(CPU限制、内存和其他限制),我不确定这是否违反了认证要求,当然也不能保证您的BackgroundTask不会被操作系统终止。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25120511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档