Freigeben über


SystemClock Klasse

Definition

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
SystemClock
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_TICKandroid.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED und android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.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 Objectzurück.

(Geerbt von Object)
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 Clock Wert zurück, der am 1. Januar 1970 um 00:00:00 Uhr beginnt.

CurrentNetworkTimeClock()

Gibt einen Clock Wert zurück, der am 1. Januar 1970 um 00:00:00 Uhr beginnt.

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)

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, 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)

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.

Gilt für: