Android-Timer reagiert spät, wenn der Telefonbildschirm gesperrt ist

9

Ich habe einen Dienst, der eine TimerTask in einer Methode ausführt, die jede Sekunde zählen und nach einiger Zeit etwas tun muss. Mein Dienst funktioniert ordnungsgemäß und wenn ich die Methode im Dienst starte, beginnt der Timer jede Sekunde (1000 Millisekunden) zu ticken. Das Problem ist, wenn der Gerätebildschirm ausgeschaltet wird, stoppt mein Timer manchmal und zählt nicht richtig. Ich kann in der Protokolldatei sehen, dass Timer für 15 Sekunden stoppt, dann 5 Sekunden ausgeführt wird und dann wieder stoppt ... Wenn das Gerät an Computer angeschlossen ist, funktioniert Timer immer normal, dieses Problem tritt auf, wenn ich das Gerät vom Computer trennen / p>

Hier ist mein Service:

%Vor%

Und hier ist die logcat-Ausgabe:

%Vor%

#### Bildschirm wird hier gesperrt ####

%Vor%

#### Bildschirm gesperrt ####

%Vor%

Sie können sehen, dass der Timer nach dem Sperren des Bildschirms nicht jede Sekunde anzukreuzen scheint. Es stoppt für 15 - 20 Sekunden und arbeitet dann normalerweise 5 Sekunden lang ...

Irgendeine Meinung darüber, wie Sie verhindern können, dass der Timer stoppt, wenn der Gerätebildschirm gesperrt ist?

    
Yasin YILDIRIM 25.04.2011, 12:41
quelle

1 Antwort

5

Klingt so, als ob Sie eine teilweise Wake-Sperre benötigen Dadurch wird verhindert, dass die CPU in den Ruhezustand wechselt, wenn der Bildschirm ausgeschaltet ist. Seien Sie jedoch gewarnt, Missbrauch kann zu Batterieproblemen führen und Sie benötigen eine Erlaubnis, Wake-Locks zu verwenden.

    
Mike dg 25.04.2011, 13:32
quelle