SystemClock Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Kernzeiterfassungseinrichtungen.
[Android.Runtime.Register("android/os/SystemClock", DoNotGenerateAcw=true)]
public sealed class SystemClock : Java.Lang.Object
[<Android.Runtime.Register("android/os/SystemClock", DoNotGenerateAcw=true)>]
type SystemClock = class
inherit Object
- Vererbung
- Attribute
Hinweise
Kernzeiterfassungseinrichtungen.
Drei verschiedene Uhren sind verfügbar, und sie sollten nicht verwechselt werden:
<ul><li>
System#currentTimeMillis System.currentTimeMillis()
ist die Standardmäßige "Wanduhr" (Uhrzeit und Datum), die seit der Epoche Millisekunden zum Ausdruck bringt. Die Wanduhr kann vom Benutzer oder vom Telefonnetz festgelegt werden (siehe #setCurrentTimeMillis
), sodass die Zeit zurück- oder vorwärts springen kann unvorhersehbar. Diese Uhr sollte nur verwendet werden, wenn die Korrespondenz mit realen Datums- und Uhrzeitangaben wichtig ist, z. B. in einer Kalender- oder Weckeruhranwendung. Intervall- oder verstrichene Zeitmessungen sollten eine andere Uhr verwenden. Wenn Sie System.currentTimeMillis() verwenden, sollten Sie sich anhören android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICK
android.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED
und android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGED
android.content.Intent Intent
übertragungen, um herauszufinden, wann sich die Zeit ändert.
<Li>
#uptimeMillis
wird in Millisekunden gezählt, seit das System gestartet wurde. Diese Uhr stoppt, wenn das System in den Tiefenschlaf wechselt (CPU aus, Anzeige dunkel, Gerät, das auf externe Eingaben wartet), aber nicht von der Skalierung, im Leerlauf oder anderen Stromsparmechanismen betroffen ist. Dies ist die Basis für die meisten Intervallanzeigedauern wie Thread#sleep(long) Thread.sleep(millls)
, , Object#wait(long) Object.wait(millis)
und System#nanoTime System.nanoTime()
. Diese Uhr ist garantiert monoton und eignet sich für die Intervallanzeige, wenn das Intervall nicht über den Geräteschlaf erstreckt. Die meisten Methoden, die einen Zeitstempelwert akzeptieren, erwarten derzeit die #uptimeMillis
Uhr.
<Li>
#elapsedRealtime
und #elapsedRealtimeNanos
gibt die Zeit zurück, seit das System gestartet wurde, und schließen Tiefschlaf ein. Diese Uhr ist garantiert monoton und wird auch dann weiter ticken, wenn sich die CPU im Energiesparmodus befindet. Daher ist die empfohlene Basis für die allgemeine Intervallanzeigedauer.
</ul>
Es gibt mehrere Mechanismen zum Steuern der Anzeigedauer von Ereignissen:
<ul><li>
Standardfunktionen wie Thread#sleep(long) Thread.sleep(millis)
und Object#wait(long) Object.wait(millis)
sind immer verfügbar. Diese Funktionen verwenden die #uptimeMillis
Uhr. Wenn das Gerät in den Ruhezustand wechselt, wird der Rest der Zeit bis zum Aufwachen des Geräts verschoben. Diese synchronen Funktionen können durch Thread#interrupt Thread.interrupt()
unterbrochen werden, und Sie müssen es behandeln InterruptedException
.
<Li>
#sleep SystemClock.sleep(millis)
ist eine Hilfsfunktion, die sehr ähnlich ist, Thread#sleep(long) Thread.sleep(millis)
aber sie ignoriert InterruptedException
. Verwenden Sie diese Funktion für Verzögerungen, wenn Sie nicht verwenden Thread#interrupt Thread.interrupt()
, da sie den unterbrochenen Zustand des Threads beibehalten.
<Li>
Die android.os.Handler
Klasse kann asynchrone Rückrufe zu einer absoluten oder relativen Zeit planen. Handlerobjekte verwenden auch die #uptimeMillis
Uhr und erfordern eine android.os.Looper event loop
(normalerweise in jeder GUI-Anwendung vorhanden).
<Li>
Dies android.app.AlarmManager
kann einmalige oder wiederkehrende Ereignisse auslösen, die auch dann auftreten, wenn sich das Gerät im Tiefschlaf befindet oder die Anwendung nicht ausgeführt wird. Ereignisse können mit Ihrer Wahl java.lang.System#currentTimeMillis
(RTC) oder #elapsedRealtime
(ELAPSED_REALTIME) geplant werden und führen zu einer android.content.Intent
Übertragung, wenn sie auftreten. </ul>
Java-Dokumentation für android.os.SystemClock
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses Werts |
Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
JniIdentityHashCode |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
JniPeerMembers |
Kernzeiterfassungseinrichtungen. |
PeerReference |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
CurrentGnssTimeClock() |
Gibt einen |
CurrentNetworkTimeClock() |
Gibt einen |
CurrentThreadTimeMillis() |
Gibt Millisekunden zurück, die im aktuellen Thread ausgeführt werden. |
Dispose() |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
Dispose(Boolean) |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
ElapsedRealtime() |
Gibt Millisekunden seit dem Start zurück, einschließlich der im Ruhezustand verbrachten Zeit. |
ElapsedRealtimeNanos() |
Gibt Nanosekunden seit dem Start zurück, einschließlich zeitverwendeter Ruhezustand. |
Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
SetCurrentTimeMillis(Int64) |
Legt die aktuelle Wandzeit in Millisekunden fest. |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
Sleep(Int64) |
Wartet vor der Rückgabe auf eine bestimmte Anzahl von Millisekunden (uptimeMillis). |
ToArray<T>() |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
UptimeMillis() |
Gibt Millisekunden zurück, da der Start gestartet wurde und keine Zeit im Tiefschlaf gezählt wird. |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<>< (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
IJavaPeerable.Finalized() |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
IJavaPeerable.JniManagedPeerState |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Kernzeiterfassungseinrichtungen. (Geerbt von Object) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Kernzeiterfassungseinrichtungen. |
GetJniTypeName(IJavaPeerable) |
Kernzeiterfassungseinrichtungen. |