Netzwerkressourceneinschränkungen in Windows RT
-
13-12-2019 - |
Frage
nach Seite 20 von Einführung in Hintergrundaufgaben , unter Netzwerkressourceneinschränkungen kann die Hintergrundaufgabe alle 15 Minuten 4,69 Mb herunterladen.
Auch als Hintergrundanwendung dürfen Sie nicht mehr als 0,002% CPU verwenden.
Auf derselben Seite argumentierten sie es wie:
Netzwerknutzung kann einen erheblichen Abfluss auf einer Gerätebatterie darstellen, und somit ist es auch während der Hintergrundaufgabe der Hintergrundaufgaben eingeschränkt. Wenn jedoch ein Gerät mit der Wechselstromleistung ausgeführt wird, sind Hintergrundaufgaben nicht nutzgliedrig. Sie können kostenlos als viel Netzwerkbandbreite verwenden, wie sie (natürlich von trägerspezifischen Bandbreiten- oder Nutzungsbeschränkungen natürlich) benötigen. Beachten Sie, dass die CPU-Nutzung für eine Hintergrundaufgabe immer Ressource ist, auch wenn das Gerät auf Wechselstrom läuft.
Aus diesen Gründen können wir keinen Download-Manager für Windows RT implementieren? Wie wäre es mit mit benutzereinwilligung?
Lösung
Es gibt APIs zum Abladen von Downloads für Hintergrundmanagement des Systems: siehe Mike Taultys Blogeintrag auf diesem . Es gibt andere ernsthafte Einschränkungen für WinRT-Apps im Hintergrundmodus, die in der Regel nicht in Blogbeiträgen und Foren diskutiert werden, z. B. der Tatsache, dass Ihre Hintergrundaufgabe in einem separaten Prozess- oder Thread-Wohnung als Ihre App läuft: im Whitepaper verknüpft mit oben , siehe Abschnitt auf Hintergrund Task Host ausführbar . Es heißt, dass, es sei denn, Ihre Hintergrundaufgabe ist, wenn Ihre Hintergrundaufgabe den PushotificationTrigger oder ControlChanneltrigger ist, Ihre Aufgabe ist ein Inproc-Server, der von BackgroundTaskhost.exe oder WWAHOST.EXE ausgeführt wird. Selbst in den ersten beiden Fällen, in denen es in derselben App läuft, ist es in einer separaten Wohnung. Diese können alle nur Daten mit der Haupt-App freigeben, indem sie ihn in Dateien oder Anwendungsdata-Speicher gestaltet sein.
Ich habe mit ControlChanneltrigger experimentiert und fand die folgenden Einschränkungen (auch in den Dokumenten aufgeführt, wenn Sie sie ausgraben):
- Der Kanal muss mit der Buchse verbunden sein, bevor die Sockel angeschlossen ist
- Eine App kann nur eine begrenzte Anzahl von Steuerkanälen verwenden, auch wenn Softwareskanäle angegeben werden (6 in meinem Fall)
Andere Tipps
Soweit ich von dem von dem Dokument verknüpften Dokument erkennen kann, sind Sie auf eine Menge des Datendurchsatzes in Hintergrundaufgaben beschränkt, die auf der Energiemenge basiert, die zur Stromversorgung des Netzwerkgeräts verwendet wird, um das Netzwerkgerät nicht durch einen bestimmten Datenwert zu versorgen.Die 4,69 MB war nur ein Beispiel für 10 Mbps, das langsamer ist als die meisten Standard-Internetverbindungen.
Wie der Absatz, den Sie verknüpft haben, gibt es keine Einschränkungen, wenn das Gerät an die Netzleistung angeschlossen ist, sodass Desktop-PCs und die meisten Laptops niemals ein Problem haben.Es gibt keine Anzeichen dafür, dass Sie den Benutzer bitten können, die Einschränkungen zu umgehen.
Ja, Sie können einen Download-Manager erstellen, und es sollte gut funktionieren, solange Sie sich dessen bewusst sind, wo und wie der Benutzer die App verwendet und entsprechend anpassen soll.