Nach Angaben von Referenz für Android-Entwickler uptimeMillis()
gibt die Anzahl der Millisekunden seit dem Start zurück, ohne Berücksichtigung der im Tiefschlaf verbrachten Zeit . Ich habe die im uptimeMillis()
in meinem Code und es ist ungefähr so.
struct timespec t;
t.tv_sec = t.tv_nsec = 0;
clock_gettime(CLOCK_MONOTONIC, &t);
return (int64_t)(t.tv_sec)*1000000000LL + t.tv_nsec;
Soviel ich weiß CLOCK_MONOTONIC
zählt von einigen unbestimmter Punkt linear einschließlich der Schlafzeit.
Hier sind meine Zweifel.
-
Si
CLOCK_MONOTONIC
beinhaltet die Schlafzeit, wie kommt esuptimeMillis()
es nicht berücksichtigt? Wenn mein Verständnis falsch ist undCLOCK_MONOTONIC
den Schlaf nicht berücksichtigt, was sollte ich dann verwenden, um die Systembetriebszeit einschließlich Schlaf zu erhalten? -
Was ist Tiefschlaf? Wird der Leerlauf der CPU als Tiefschlaf bezeichnet?
-
Was ist der Wert von unbestimmter Punkt unter Linux? Können Sie freundlicherweise im Code angeben, wo diese Uhr gestartet wird?