läuft also lieh ich mir einen Timer Ansatz von diesem hervorragenden Beitrag:Meine Android Timer langsam
, die sehr gut geschrieben und gut upchecked. Ich finde jedoch, dass es ungefähr alle 106-114 ms, nicht die gewünschten 100 ms abfeuert. Macht das Sinn, oder scheint es langsam? Wenn ich das genauer auf 100 ms bringen wollte (ich benutze es an einigen Stellen, um die Dauer zu messen), welche Änderung sollte ich machen?
Mein Code ist unten
Handler timerHandler = new Handler();
Runnable timerRunnable = new Runnable() {
@Override
public void run() {
TickTimer_Elapsed();
timerHandler.postDelayed(this, 100);
}
};
void TickTimer_Start() { timerHandler.postDelayed(timerRunnable,); }
void TickTimer_Stop() { timerHandler.removeCallbacks(timerRunnable); }
void TickTimer_Elapsed()
{
m_FSM.Tick_10Hz(); // actually a bit slower than 10Hz
}
Verwendung 'postAtTime' statt (oder adaptive verwenden "Verzögerung" bei der Verwendung von' postDelayed') – pskink
@pskink Sounds Wie sie sehr genaue Zeiten wollen, verspricht 'postAtTime' auch nicht. – weston
"Ich verwende es an einigen Orten, um die Dauer zu messen" Klingt wie ein [XY-Problem] (http://xyproduk.info/). Was ist das Problem, das Sie versuchen zu lösen? – weston