Windows 8 Background Downloader Fast Track

Eine typische METRO APP läuft in der Regel nur exklusiv. Mit der Wisch (wipe) Geste vom linken Rand wird eine andere APP gestartet. Nach 5 Sekunden ist die vorige Anwendung dann für das System nur mehr eine Belastung und wird suspended.

Im Task Manager ist das auch gut zu erkennen.

image

Was geschieht, wenn die Anwendung gerade einen Service Call macht? in meinen Tests scheinen die 5 Sekunden in solchen Fällen auch mal bis auf 10 Sekunden ausgedehnt. In der Doku finde ich dazu allerdings bisher nichts.

Bei einem lang laufenden Download, wird dieses definitiv unterbrochen. Statt dessen kommt der Background Downloader zum Einsatz.

Dim bd As BackgroundDownloader = New BackgroundDownloader()
 Dim sf As StorageFile = Await KnownFolders.VideosLibrary.CreateFileAsync("581.wmv", CreationCollisionOption.ReplaceExisting)
Dim op As DownloadOperation = bd.CreateDownload(New Uri("http://video.ch9.ms/build/2011/wmv/581.wmv"), sf)

Await op.StartAsync()

Wenn die Anwendung suspended wird, läuft der Download nun trotzdem weiter. Erkennen kann man das ganz gut im Taskmanager von Windows 8.

image

Mann kann im onSuspending event auch den Download per  pauseAll anhalten und ihn dann später wieder aufnehmen.

Wird die METRO APP beendet (durch ALT F4 oder Wishgeste nach unten) dann bricht der Download nach wenigen (ca 5) Sekunden ab.

image

In einem weiteren Biog Artikel werde ich mich mit ein paar Details wie z.B. BackgroundDownloadProgress beschäftigen.

Kommentar schreiben