Partager via


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

Documentation Java pour android.os.SystemClock.

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

Propriétés

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

Installations de gestion des temps de base.

(Hérité de Object)
JniPeerMembers

Installations de gestion des temps de base.

PeerReference

Installations de gestion des temps de base.

(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

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
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()

Installations de gestion des temps de base.

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

Installations de gestion des temps de base.

(Hérité de Object)
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)

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)
Sleep(Int64)

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

ToArray<T>()

Installations de gestion des temps de base.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Installations de gestion des temps de base.

(Hérité de Object)
UptimeMillis()

Retourne des millisecondes 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)

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

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

Installations de gestion des temps de base.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Installations de gestion des temps de base.

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

Installations de gestion des temps de base.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Installations de gestion des temps de base.

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

Installations de gestion des temps de base.

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

Installations de gestion des temps de base.

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

Installations de gestion des temps de base.

(Hérité de Object)

Méthodes d’extension

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.

GetJniTypeName(IJavaPeerable)

Installations de gestion des temps de base.

S’applique à