SystemClock Classe

Definição

Instalações centrais de cronometragem.

[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
Herança
SystemClock
Atributos

Comentários

Instalações centrais de cronometragem.

Três relógios diferentes estão disponíveis, e eles não devem ser confundidos:

<><Ul li>

System#currentTimeMillis System.currentTimeMillis() é o relógio de "parede" padrão (hora e data) que expressa milissegundos desde a época. O relógio de parede pode ser ajustado pelo usuário ou pela rede telefônica (veja #setCurrentTimeMillis), de modo que o tempo pode saltar para trás ou para frente de forma imprevisível. Esse relógio só deve ser usado quando a correspondência com datas e horas do mundo real for importante, como em um aplicativo de calendário ou despertador. As medições de intervalo ou tempo decorrido devem usar um relógio diferente. Se você estiver usando System.currentTimeMillis(), considere ouvir o android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICK, android.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED e android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.content.Intent Intent transmissões para descobrir quando a hora muda.

<li>

#uptimeMillis é contado em milissegundos desde que o sistema foi inicializado. Esse relógio pára quando o sistema entra em suspensão profunda (CPU desligada, tela escura, dispositivo aguardando entrada externa), mas não é afetado pelo dimensionamento do relógio, ociosidade ou outros mecanismos de economia de energia. Essa é a base para a maioria dos intervalos de tempo, como Thread#sleep(long) Thread.sleep(millls), Object#wait(long) Object.wait(millis)e System#nanoTime System.nanoTime(). Este relógio é garantido para ser monotônico, e é adequado para o tempo de intervalo quando o intervalo não abrange o sono do dispositivo. A maioria dos métodos que aceitam um valor de carimbo de data/hora atualmente esperam o #uptimeMillis relógio.

<li>

#elapsedRealtime e #elapsedRealtimeNanos retornar o tempo desde que o sistema foi inicializado, e incluir o sono profundo. Este relógio é garantido para ser monotônico, e continua a marcar mesmo quando a CPU está em modos de economia de energia, por isso é a base recomendada para o tempo de intervalo de uso geral.

</ul>

Existem vários mecanismos para controlar o tempo dos eventos:

<><Ul li>

Funções padrão como Thread#sleep(long) Thread.sleep(millis) e Object#wait(long) Object.wait(millis) estão sempre disponíveis. Essas funções usam o #uptimeMillis relógio, se o dispositivo entrar em suspensão, o restante do tempo será adiado até que o dispositivo acorde. Essas funções síncronas podem ser interrompidas com Thread#interrupt Thread.interrupt()o , e você deve manipular InterruptedExceptiono .

<li>

#sleep SystemClock.sleep(millis) é uma função de utilidade muito semelhante ao Thread#sleep(long) Thread.sleep(millis), mas ignora InterruptedException. Use essa função para atrasos se você não usar Thread#interrupt Thread.interrupt(), pois ela preservará o estado interrompido do thread.

<li>

A android.os.Handler classe pode agendar retornos de chamada assíncronos em um tempo absoluto ou relativo. Os objetos manipuladores também usam o #uptimeMillis relógio e exigem um android.os.Looper event loop (normalmente presente em qualquer aplicativo GUI).

<li>

O android.app.AlarmManager pode disparar eventos únicos ou recorrentes que ocorrem mesmo quando o dispositivo está em suspensão profunda ou seu aplicativo não está em execução. Os eventos podem ser agendados com sua escolha de java.lang.System#currentTimeMillis (RTC) ou #elapsedRealtime (ELAPSED_REALTIME) e causar uma android.content.Intent transmissão quando ocorrem. </ul>

Documentação Java para android.os.SystemClock.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Instalações centrais de cronometragem.

(Herdado de Object)
JniPeerMembers

Instalações centrais de cronometragem.

PeerReference

Instalações centrais de cronometragem.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
CurrentGnssTimeClock()

Retorna um Clock que começa em 1 de janeiro de 1970 00:00:00.

CurrentNetworkTimeClock()

Retorna um Clock que começa em 1 de janeiro de 1970 00:00:00.

CurrentThreadTimeMillis()

Retorna milissegundos em execução no thread atual.

Dispose()

Instalações centrais de cronometragem.

(Herdado de Object)
Dispose(Boolean)

Instalações centrais de cronometragem.

(Herdado de Object)
ElapsedRealtime()

Retorna milissegundos desde a inicialização, incluindo o tempo gasto no modo de suspensão.

ElapsedRealtimeNanos()

Retorna nanossegundos desde a inicialização, incluindo o tempo gasto no modo de suspensão.

Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SetCurrentTimeMillis(Int64)

Define o tempo de parede atual, em milissegundos.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
Sleep(Int64)

Aguarda um determinado número de milissegundos (de uptimeMillis) antes de retornar.

ToArray<T>()

Instalações centrais de cronometragem.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Instalações centrais de cronometragem.

(Herdado de Object)
UptimeMillis()

Retorna milissegundos desde a inicialização, sem contar o tempo gasto em sono profundo.

Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

Instalações centrais de cronometragem.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Instalações centrais de cronometragem.

(Herdado de Object)
IJavaPeerable.Finalized()

Instalações centrais de cronometragem.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Instalações centrais de cronometragem.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Instalações centrais de cronometragem.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Instalações centrais de cronometragem.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Instalações centrais de cronometragem.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Instalações centrais de cronometragem.

GetJniTypeName(IJavaPeerable)

Instalações centrais de cronometragem.

Aplica-se a