WinRT Apps müssen innerhalb von 15 Sekunden starten. Genauer gesagt: Das Rendern des ersten Bildschirms darf nicht länger dauern. Wer also beispielsweise eine längere Bootstrapping Phase in seiner Anwendung durchführen muss, z.B. durch die Registrierung vieler Komponenten in einem IoC Container, der sollte sich hierüber Gedanken machen. Es ist auch daran zu denken, dass diese Initialisierungsphase je nach Device länger dauern könnte. Wie aber der anfänglichen Aussage zu entnehmen ist, wäre es durchaus adäquat einen Loading Bildschirm vorzuschalten und danach das Bootstrapping durchzuführen.
Die Frage, was passiert, wenn besagte 15 Sekunden überschritten werden, ist einfach: Die Anwendung wird beendet, d.h. sie verschwindet einfach. Dies lässt sich einfach testen:
public static class MyThreadingHelpers
{
public static void Sleep(int ms)
{
new System.Threading.ManualResetEvent(false).WaitOne(ms);
}
}
Wer dieses Code Sample verwendet und in der Startphase aufruft, kann dies einfach testen.
Mit Tag(s) versehen: WinRT
Wer hat Dir eigentlich die Scheiße mit den 15 Sekunden erzählt? http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx#acr_3_8
LikeLike
Philipp Bauknecht von medialesson.Habe es selbst getestet und es sind 15 Sekunden, siehe http://bit.ly/Oh07B4.Ist der Artikel vielleicht veraltet?
LikeLike
Nein, siehe auch hier
http://msdn.microsoft.com/en-us/library/windows/apps/hh920274.aspx
Vor allem lass mal das Windows App Certification Tool drüber laufen
LikeLike
Habe gerade kein Win8 mehr, da ich das mit der finalen aufsetze. Hier die TestApp
https://github.com/Uli-Armbruster/WinRT-TestApp
Was meinste?
LikeLike
Oli hat mir gerade noch diesen Link zukommen lassen: http://msdn.microsoft.com/en-us/library/windows/apps/hh920274.aspx
Habe jetzt mal noch Philipp angeschrieben, woher er seine Infos hat. In dem Code Sample was ich dir geschickt habe, wird die Anwendung aber tatsächlich erst nach 15 Sekunden abgeschossen
LikeLike
Hallo Uli,
tatsächlich scheinen in diesem Fall beide Recht zu haben. Die 15 Sekunden Grenze beim Start einer Anwendung sowie das 5 Sekunden Limit beim Suspend sind die technischen Grenzen in der Plattform, nach denen der Taskmanager der Prozess der jeweiligen App killt. Dazu habe ich auch zwei passende Folien in meinem Trainer Slide Deck, die kann ich hier nur nicht sharen.
Die Zeitgrenzen von Dariusz stellen die aktuellen Qualitätsanforderungen für die Teilnahme am Windows Store dar.
Also einmal technische Limitierung und einmal Spielregel. Ich hoffe das klärt die Verwirrung etwas auf…
Liebe Grüße
Philipp
LikeLike