Condividi tramite


SystemClock Classe

Definizione

Impianti di mantenimento del tempo di 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
Ereditarietà
SystemClock
Attributi

Commenti

Impianti di mantenimento del tempo di base.

Sono disponibili tre orologi diversi e non devono essere confusi:

<ul><li>

System#currentTimeMillis System.currentTimeMillis() è l'orologio standard "wall" (ora e data) espresso in millisecondi dal periodo. L'orologio a parete può essere impostato dall'utente o dalla rete telefonica (vedere #setCurrentTimeMillis), quindi il tempo può saltare indietro o in avanti imprevedibile. Questo orologio deve essere utilizzato solo quando la corrispondenza con date e ore reali è importante, ad esempio in un'applicazione di calendario o sveglia. Le misurazioni di intervallo o tempo trascorso devono usare un orologio diverso. Se si usa System.currentTimeMillis(), prendere in considerazione l'ascolto delle android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICKtrasmissioni e android.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.content.Intent Intent per scoprire quando cambia l'ora.

<li>

#uptimeMillis viene conteggiato in millisecondi dall'avvio del sistema. Questo orologio si arresta quando il sistema entra in sospensione profonda (CPU disattivata, schermo scuro, dispositivo in attesa di input esterno), ma non è influenzato dal ridimensionamento del clock, dall'inattività o da altri meccanismi di risparmio energia. Questa è la base per la maggior parte degli intervalli, ad esempio Thread#sleep(long) Thread.sleep(millls), Object#wait(long) Object.wait(millis)e System#nanoTime System.nanoTime(). Questo orologio è garantito che sia monotonico ed è adatto per l'intervallo di tempo quando l'intervallo non si estende sulla sospensione del dispositivo. La maggior parte dei metodi che accettano un valore timestamp prevede attualmente l'orologio #uptimeMillis .

<li>

#elapsedRealtime e #elapsedRealtimeNanos restituire l'ora dall'avvio del sistema e includere il sonno profondo. Questo orologio è sicuramente monotonico e continua a tick anche quando la CPU è in modalità di risparmio energetico, quindi è la base consigliata per intervalli di utilizzo generico.

</ul>

Esistono diversi meccanismi per controllare la tempistica degli eventi:

<ul><li>

Le funzioni standard come Thread#sleep(long) Thread.sleep(millis) e Object#wait(long) Object.wait(millis) sono sempre disponibili. Queste funzioni usano l'orologio #uptimeMillis ; se il dispositivo entra in sospensione, il resto dell'ora verrà posticipato fino alla riattivazione del dispositivo. Queste funzioni sincrone possono essere interrotte con Thread#interrupt Thread.interrupt()e è necessario gestire InterruptedException.

<li>

#sleep SystemClock.sleep(millis) è una funzione di utilità molto simile a Thread#sleep(long) Thread.sleep(millis), ma ignora InterruptedException. Usare questa funzione per i ritardi se non si usa Thread#interrupt Thread.interrupt(), perché manterrà lo stato interrotto del thread.

<li>

La android.os.Handler classe può pianificare callback asincroni in un momento assoluto o relativo. Gli oggetti gestore usano anche l'orologio #uptimeMillis e richiedono un oggetto android.os.Looper event loop (in genere presente in qualsiasi applicazione GUI).

<li>

android.app.AlarmManager Può attivare eventi occasionali o ricorrenti che si verificano anche quando il dispositivo è in sospensione profonda o l'applicazione non è in esecuzione. Gli eventi possono essere pianificati con la scelta di java.lang.System#currentTimeMillis (RTC) o #elapsedRealtime (ELAPSED_REALTIME) e causare una android.content.Intent trasmissione quando si verificano. </ul>

Documentazione java per android.os.SystemClock.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
JniPeerMembers

Impianti di mantenimento del tempo di base.

PeerReference

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)
ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Object)

Metodi

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
CurrentGnssTimeClock()

Restituisce un oggetto Clock che inizia il 1° gennaio 1970 00:00:00.

CurrentNetworkTimeClock()

Restituisce un oggetto Clock che inizia il 1° gennaio 1970 00:00:00.

CurrentThreadTimeMillis()

Restituisce millisecondi in esecuzione nel thread corrente.

Dispose()

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
Dispose(Boolean)

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
ElapsedRealtime()

Restituisce millisecondi dall'avvio, incluso il tempo trascorso nel sonno.

ElapsedRealtimeNanos()

Restituisce nanosecondi dall'avvio, incluso il tempo trascorso nel sonno.

Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
SetCurrentTimeMillis(Int64)

Imposta il tempo di parete corrente, espresso in millisecondi.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Sleep(Int64)

Attende un determinato numero di millisecondi (di tempo di attivitàMillis) prima di restituire.

ToArray<T>()

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
UptimeMillis()

Restituisce millisecondi dall'avvio, senza contare il tempo trascorso nel sonno profondo.

Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
IJavaPeerable.Finalized()

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Impianti di mantenimento del tempo di base.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Impianti di mantenimento del tempo di base.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Impianti di mantenimento del tempo di base.

GetJniTypeName(IJavaPeerable)

Impianti di mantenimento del tempo di base.

Si applica a