2012-10-03 86 views
4

根據Introduction to Background Tasks的第20頁,在下的網絡資源限制,後臺任務可以每15分鐘下載4.69 MB。Windows RT中的網絡資源限制

這是否意味着,在Windows RT中,如果我們通過IE10 metro在後臺下載20MB文件,則需要40多分鐘? (否則我們必須保持前面的下載進度)

此外,作爲後臺應用程序,您不允許使用超過0.002%的CPU。

在同一頁上,他們認爲它像:

網絡使用可以代表一個設備電池顯著排放,因此它是在後臺執行任務也制約。但是,如果設備使用交流電源運行,則後臺任務不受網絡限制。他們可以根據自己的需要隨意使用盡可能多的網絡帶寬(當然,通過運營商特定的帶寬或使用限制進行門控)。請注意,即使設備使用交流電源運行,後臺任務的CPU使用率也始終受到資源限制。

由於這些原因,我們無法實現Windows RT下載管理器? 用戶同意?

回答

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)
1

據我所知,鏈接的文檔僅限於後臺任務中的數據吞吐量,該數據吞吐量基於用於爲網絡設備供電的能量數量,而不是由任何特定的數據值。 4.69MB只是10Mbps的一個例子,比大多數標準的住宅互聯網連接要慢。

同樣作爲段落你鏈接狀態有沒有限制,如果設備連接到主電源,所以臺式電腦和大多數筆記本電腦將永遠不會有問題。沒有跡象表明您可以要求用戶繞過這些限制。

所以是的,你可以建立一個下載管理器,只要你知道用戶在哪裏以及如何使用應用程序並進行相應調整,它應該可以正常工作。

+0

感謝您的深刻反應。我觀察了運行Windows 8 pro RTM的桌面上的所述行爲。我收到了一些商店應用程序的更新,我打開了商店,按下安裝更新按鈕並切換到桌面。過了一段時間,當我切換回商店時,應用程序未被下載。我在同一屏幕上呆了一段時間,並在一分鐘內下載/安裝更新。是因爲當我切換上下文時,應用程序被暫停了嗎?顯然,網絡限制不允許已暫停的應用程序消耗帶寬。或者是商店應用程序設計的方式? – Annie