ZitatOriginal geschrieben von harlekyn
Danke fuer den Link, eigentlich ist die Beschreibung da eindeutig. So ein PeriodicTask wird etwa alle 30 Minuten ausgefuehrt und hat dann etwa 15 Sekunden Zeit. Feste Garantien gibt's aber keine, es kann sein dass die Ausfuehrung auch mal 10 Minuten spaeter erfolgt und dass der Task schon vor Ablauf der 15 Sekunden beendet wird.
Na ja, ich finde die Formulierung könnte trotzdem eindeutiger sein, was "for 15 seconds" bedeutet. Aber egal.
ZitatFuer periodische Synchronisation, Standortupdates etc. genuegt das. Aber es eignet sich weder fuer einen Instant Messenger, der permanent im Hintergrund laeuft (es sei denn man ist mit bis zu 30 Minuten Verzoegerung bei der Zustellung einer Nachricht einverstanden), noch fuer Audiostreaming oder Navigation.
Zusätzlich kommt bei dem ganzen Konzept noch die Schwierigkeit dazu, dass das eigene Prozesse sind. Also kann z.B. ein Socket der connected ist in der App nicht einfach im Background-Agent weiter bedient werden oder so, wenn die App gestoppt wird. Die Sockets werden einfach geschlossen und damit auch TCP-Verbindungen getrennt, auch wenn man nur für 1 Sekunde in die Wetter App wechselt oder so... Ganz grosser Sport.
Was Audio-Streaming angeht, gibt es dazu eine spezielle Klasse, nur für diesen Zweck, die dann nicht den Einschränkungen der normalen Background Tasks unterworfen ist. Ähnliches gilt für Datei-Downloads und -Uploads.
Für Navi, GPS-Tracking usw. gibt es aber leider nichts entsprechendes. Dafür wackelt jetzt aber der Avatar in Xbox besser rum.