Ich habe eine Anwendung, die bestimmte Dinge alle 1 Sekunde protokollieren soll und ich verwende derzeit NSTimer
, aber wenn meine Anwendung Bildschirme (oder fast alles andere, wirklich) übergeht, verlangsamt sie den Timer ein wenig für ungenaue Messwerte.
Was ist eine zuverlässige Alternative zu verwenden? Mein aktueller Code ist wie folgt:
%Vor% NSTimer ist nicht garantiert genau rechtzeitig pünktlich. Aber Sie können einen NSTimer viel zuverlässiger verwenden als jetzt. Wenn Sie scheduledTimerWithTimeInterval
verwenden, erstellen Sie einen NSTimer, der in der Ausführungsschleife für NSDefaultRunLoopMode
eingeplant ist. Dieser Modus ist angehalten, wenn die Benutzeroberfläche verwendet wird. Daher werden Ihre Timer bei Benutzerinteraktion nicht ausgelöst. Um diese Pause zu vermeiden, verwenden Sie den Modus NSRunLoopCommonModes
. Dazu müssen Sie den Timer wie folgt selbst planen:
Sie könnten:
Tags und Links objective-c iphone ios nstimer