Langue

SystemClock Classe

Définition

Installations de gestion des temps de base.

[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
Héritage
SystemClock
Attributs

Remarques

Installations de gestion des temps de base.

Trois horloges différentes sont disponibles et elles ne doivent pas être confondues :

<ul><li>

System#currentTimeMillis System.currentTimeMillis() est l’horloge « wall » standard (heure et date) exprimant des millisecondes depuis l’époque. L’horloge murale peut être définie par l’utilisateur ou le réseau téléphonique (voir #setCurrentTimeMillis), de sorte que le temps peut sauter vers l’arrière ou l’avant de manière imprévisible. Cette horloge ne doit être utilisée que lorsque la correspondance avec des dates et des heures réelles est importante, comme dans une application de calendrier ou d’horloge d’alarme. Les mesures d’intervalle ou de temps écoulé doivent utiliser une horloge différente. Si vous utilisez System.currentTimeMillis(), envisagez d’écouter les android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICKémissions android.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED et android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.content.Intent Intent de déterminer quand le temps change.

<li>

#uptimeMillis est compté en millisecondes depuis le démarrage du système. Cette horloge s’arrête lorsque le système entre en veille profonde (processeur désactivé, affichage sombre, appareil en attente d’entrée externe), mais n’est pas affecté par la mise à l’échelle de l’horloge, l’inactivité ou d’autres mécanismes d’économie d’alimentation. Il s’agit de la base de la plupart des intervalles de minutage tels que Thread#sleep(long) Thread.sleep(millis), Object#wait(long) Object.wait(millis)et System#nanoTime System.nanoTime(). Cette horloge est garantie d’être monotonique et convient pour le minutage de l’intervalle lorsque l’intervalle ne couvre pas le sommeil de l’appareil. La plupart des méthodes qui acceptent une valeur d’horodatage attendent actuellement l’horloge #uptimeMillis .

<li>

#elapsedRealtime et #elapsedRealtimeNanos retourner l’heure depuis le démarrage du système, et inclure le sommeil profond. Cette horloge est garantie d’être monotonique et continue de se cocher même lorsque le processeur est en mode d’économie d’énergie, il est donc recommandé de base pour le minutage à usage général.

</ul>

Il existe plusieurs mécanismes pour contrôler le minutage des événements :

<ul><li>

Les fonctions standard comme Thread#sleep(long) Thread.sleep(millis) et Object#wait(long) Object.wait(millis) sont toujours disponibles. Ces fonctions utilisent l’horloge #uptimeMillis ; si l’appareil entre en veille, le reste du temps sera reporté jusqu’à ce que l’appareil se réveille. Ces fonctions synchrones peuvent être interrompues avec Thread#interrupt Thread.interrupt(), et vous devez gérer InterruptedException.

<li>

#sleep SystemClock.sleep(millis) est une fonction utilitaire très similaire à Thread#sleep(long) Thread.sleep(millis), mais elle ignore InterruptedException. Utilisez cette fonction pour les retards si vous n’utilisez Thread#interrupt Thread.interrupt()pas , car elle conserve l’état interrompu du thread.

<li>

La android.os.Handler classe peut planifier des rappels asynchrones à un moment absolu ou relatif. Les objets de gestionnaire utilisent également l’horloge #uptimeMillis et nécessitent une android.os.Looper event loop (normalement présente dans n’importe quelle application GUI).

<li>

Il android.app.AlarmManager peut déclencher des événements ponctuels ou récurrents qui se produisent même lorsque l’appareil est en veille profonde ou que votre application n’est pas en cours d’exécution. Les événements peuvent être planifiés avec votre choix ( java.lang.System#currentTimeMillis RTC) ou #elapsedRealtime (ELAPSED_REALTIME) et provoquer une android.content.Intent diffusion lorsqu’ils se produisent. </ul>

Java documentation pour android.os.SystemClock.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Installations de gestion des temps de base.

(Hérité de JavaObject)
JniPeerMembers

Fournit des métadonnées de membre homologue JNI pour ce type.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)

Méthodes

Nom Description
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Installations de gestion des temps de base.

(Hérité de JavaObject)
CurrentGnssTimeClock()

Retourne une Clock valeur qui commence au 1er janvier 1970 00:00:00.

CurrentNetworkTimeClock()

Retourne une Clock valeur qui commence au 1er janvier 1970 00:00:00.

CurrentThreadTimeMillis()

Retourne des millisecondes en cours d’exécution dans le thread actuel.

Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Installations de gestion des temps de base.

(Hérité de JavaObject)
ElapsedRealtime()

Retourne des millisecondes depuis le démarrage, y compris le temps passé en veille.

ElapsedRealtimeNanos()

Retourne les nanosecondes depuis le démarrage, y compris le temps passé en veille.

Equals(Object)

Installations de gestion des temps de base.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
SetCurrentTimeMillis(Int64)

Définit l’heure du mur actuel, en millisecondes.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Installations de gestion des temps de base.

(Hérité de JavaObject)
Sleep(Int64)

Attend un nombre donné de millisecondes (de temps d’activitéMillis) avant de retourner.

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
UptimeMillis()

Retourne des millisecondes depuis le démarrage, sans compter le temps passé en veille profonde.

UptimeNanos()

Retourne les nanosecondes depuis le démarrage, sans compter le temps passé en veille profonde.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Installations de gestion des temps de base.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Installations de gestion des temps de base.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Installations de gestion des temps de base.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Installations de gestion des temps de base.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Installations de gestion des temps de base.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Installations de gestion des temps de base.

(Hérité de JavaObject)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Installations de gestion des temps de base.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à