Lenguaje

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_TIME_CHANGED ACTION_TIME_CHANGEDandroid.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_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(millis), 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>

Java documentación para android.os.SystemClock.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
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

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
JniPeerMembers

Proporciona metadatos de miembro del mismo nivel de JNI para este tipo.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(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

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
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()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
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)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
Equals(Object)

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

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
JavaFinalize()
Obsoletos.

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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
Sleep(Int64)

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

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
UptimeMillis()

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

UptimeNanos()

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

Wait()

Hace que el subproceso actual espere hasta que se despierte, 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

Nombre Description
IJavaPeerable.Disposed()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Instalaciones básicas de mantenimiento de tiempo.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

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.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a