Compartir a través de


SystemClock Clase

Definición

Instalaciones básicas de mantenimiento de tiempo.

[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
Herencia
SystemClock
Atributos

Comentarios

Instalaciones básicas de mantenimiento de tiempo.

Hay tres relojes diferentes disponibles y no deben confundirse:

<ul><li>

System#currentTimeMillis System.currentTimeMillis() es el reloj estándar de "pared" (hora y fecha) que expresa milisegundos desde la época. El reloj de pared se puede establecer por el usuario o la red telefónica (vea #setCurrentTimeMillis), por lo que el tiempo puede saltar hacia atrás o hacia delante de forma impredecible. Este reloj solo debe usarse cuando la correspondencia con fechas y horas del mundo real es importante, como en una aplicación de calendario o reloj de alarma. Las medidas de tiempo transcurrido o intervalo deben usar un reloj diferente. Si usa System.currentTimeMillis(), considere la posibilidad de escuchar las android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICKdifusión y android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGEDandroid.content.Intent Intent para averiguar cuándo cambia la hora.

<Li>

#uptimeMillis se cuenta en milisegundos desde el arranque del sistema. Este reloj se detiene cuando el sistema entra en suspensión profunda (CPU desactivada, pantalla oscura, dispositivo esperando entrada externa), pero no se ve afectado por el escalado del reloj, inactivo u otros mecanismos de ahorro de energía. Esta es la base para la mayoría de los intervalos, como Thread#sleep(long) Thread.sleep(millls), Object#wait(long) Object.wait(millis)y System#nanoTime System.nanoTime(). Se garantiza que este reloj es monotonico y es adecuado para el intervalo de tiempo cuando el intervalo no abarca la suspensión del dispositivo. La mayoría de los métodos que aceptan un valor de marca de tiempo esperan actualmente el #uptimeMillis reloj.

<Li>

#elapsedRealtime y #elapsedRealtimeNanos devuelven el tiempo desde el arranque del sistema e incluyen suspensión profunda. Se garantiza que este reloj es monotonico y sigue marcando incluso cuando la CPU está en modos de ahorro de energía, por lo que es la base recomendada para el intervalo de uso general.

</ul>

Hay varios mecanismos para controlar el tiempo de los eventos:

<ul><li>

Las funciones estándar como Thread#sleep(long) Thread.sleep(millis) y Object#wait(long) Object.wait(millis) siempre están disponibles. Estas funciones usan el #uptimeMillis reloj; si el dispositivo entra en suspensión, el resto del tiempo se pospondrá hasta que el dispositivo se despierte. Estas funciones sincrónicas pueden interrumpirse con Thread#interrupt Thread.interrupt()y debe controlar InterruptedException.

<Li>

#sleep SystemClock.sleep(millis) es una función de utilidad muy similar a Thread#sleep(long) Thread.sleep(millis), pero omite InterruptedException. Use esta función para retrasos si no usa Thread#interrupt Thread.interrupt(), ya que conservará el estado interrumpido del subproceso.

<Li>

La android.os.Handler clase puede programar devoluciones de llamada asincrónicas en un tiempo absoluto o relativo. Los objetos de controlador también usan el #uptimeMillis reloj y requieren un android.os.Looper event loop (normalmente presente en cualquier aplicación de GUI).

<Li>

android.app.AlarmManager Puede desencadenar eventos de una sola vez o periódicos que se producen incluso cuando el dispositivo está en suspensión profunda o la aplicación no se está ejecutando. Los eventos se pueden programar con su elección de java.lang.System#currentTimeMillis (RTC) o #elapsedRealtime (ELAPSED_REALTIME) y provocar una android.content.Intent difusión cuando se producen. </ul>

Documentación de Java para android.os.SystemClock.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
JniPeerMembers

Instalaciones básicas de mantenimiento de tiempo.

PeerReference

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
CurrentGnssTimeClock()

Devuelve un que Clock comienza el 1 de enero de 1970 00:00:00.

CurrentNetworkTimeClock()

Devuelve un que Clock comienza el 1 de enero de 1970 00:00:00.

CurrentThreadTimeMillis()

Devuelve milisegundos que se ejecutan en el subproceso actual.

Dispose()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
Dispose(Boolean)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
ElapsedRealtime()

Devuelve milisegundos desde el arranque, incluido el tiempo invertido en suspensión.

ElapsedRealtimeNanos()

Devuelve nanosegundos desde el arranque, incluido el tiempo invertido en suspensión.

Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetCurrentTimeMillis(Int64)

Establece la hora actual de la pared, en milisegundos.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
Sleep(Int64)

Espera un número determinado de milisegundos (de uptimeMillis) antes de devolver.

ToArray<T>()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
UptimeMillis()

Devuelve milisegundos desde el arranque, sin contar el tiempo invertido en suspensión profunda.

Wait()

Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
IJavaPeerable.Finalized()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Instalaciones básicas de mantenimiento de tiempo.

GetJniTypeName(IJavaPeerable)

Instalaciones básicas de mantenimiento de tiempo.

Se aplica a