2009-08-11 12 views
0

Ich habe eine Flex-App, die mehrere Timer für verschiedene Zeiträume und aus verschiedenen Gründen ausgeführt hat. Ich möchte in der Lage sein, alle laufenden Timer zu stoppen, wenn der Benutzer eine bestimmte Zeit überschreitet, aber nicht möchten die Timer mit timer.stop() stoppen;Stop alle Timer läuft

Gibt es eine Möglichkeit, alle Timer global zu stoppen oder über alle laufenden Timer zu finden und zu iterieren und sie zu stoppen?

Antwort

5

Sie könnten alle Timer auf eine TimersManager Klasse, so etwas wie registrieren:

var t:Timer = new Timer() 
TimersManager.getInstance().register(t); 
... 
TimersManager.getInstance().stopAll(); 

die Implementierung dieser Klasse sollte ziemlich trivial sein. Stellen Sie nur sicher, dass Sie schwache Referenzen zu diesen Timern behalten.