Windows RT中的网络资源限制

时间:2012-10-03 07:12:00

标签: windows-8 microsoft-metro windows-store-apps

根据Introduction to Background Tasks的第20页,在网络资源限制下,后台任务可以每15分钟下载4.69 MB。

这是否意味着,在Windows RT中,如果我们在后台通过IE10地铁下载20MB文件,则需要40多分钟? (否则我们必须保持下载进度)

此外,作为后台应用程序,不允许使用超过0.002%的CPU。

在同一页面上,他们认为:

  

网络使用可能代表设备电池的大量消耗,因此在后台任务执行期间也受到限制。但是,如果设备使用交流电源运行,则后台任务不受网络限制。他们可以根据需要自由使用尽可能多的网络带宽(当然,可以通过任何特定于运营商的带宽或使用限制来控制)。请注意,即使设备使用交流电源运行,后台任务的CPU使用率也始终受资源限制。

由于这些原因,我们无法为Windows RT实现下载管理器? 用户同意怎么样?

2 个答案:

答案 0 :(得分:1)

据我所知,从链接的文档可以看出,后台任务中的数据吞吐量受限于基于用于为网络设备供电的能量而不是任何特定数据值。 4.69MB只是10Mbps的一个例子,它比大多数标准住宅互联网连接慢。

此外,如果设备连接到主电源,则链接的段落没有限制,因此台式机和大多数笔记本电脑都不会出现问题。没有迹象表明您可以要求用户绕过限制。

所以是的,您可以构建一个下载管理器,只要您知道用户在何处以及如何使用该应用程序并进行相应调整,它就可以正常工作。

答案 1 :(得分:1)

有一些API用于卸载系统后台管理的下载: see Mike Taulty's blog entry on this。在后台模式中对WinRT应用程序还有其他严重限制,通常不会在博客文章和论坛中讨论,例如您的后台任务在与应用程序不同的进程或线程公寓中运行:在白皮书linked to above中,请参阅关于后台任务主机可执行文件的部分。它说除非你的后台任务是PushNotificationTrigger或ControlChannelTrigger,否则你的任务是由BackgroundTaskHost.exe或WWAHost.exe运行的inproc服务器。即使在“在同一个应用程序中”运行的前两种情况下,它也位于单独的公寓中。这些都只能通过将其编组到文件或ApplicationData存储中来与主应用程序共享数据。

我已经使用ControlChannelTrigger进行了实验,并发现了以下限制(如果您将其挖掘出来,也会在文档中列出):

  • 在连接套接字之前,通道必须与套接字关联
  • 应用程序只能使用有限数量的ControlChannel,即使指定了软件频道(在我的情况下为6)