다음을 통해 공유


SystemClock 클래스

정의

핵심 타임키핑 시설.

[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
상속
SystemClock
특성

설명

핵심 타임키핑 시설.

세 가지 다른 시계를 사용할 수 있으며 혼동해서는 안됩니다.

<ul><li>

System#currentTimeMillis System.currentTimeMillis() 는 epoch 이후 밀리초를 표현하는 표준 "벽" 시계(시간 및 날짜)입니다. 벽시계는 사용자 또는 전화 네트워크(참조 #setCurrentTimeMillis)에서 설정할 수 있으므로 시간이 예측할 수 없을 정도로 뒤로 또는 앞으로 이동할 수 있습니다. 이 시계는 달력 또는 알람 클록 애플리케이션과 같이 실제 날짜 및 시간과의 대응이 중요한 경우에만 사용해야 합니다. 간격 또는 경과된 시간 측정값은 다른 클록을 사용해야 합니다. System.currentTimeMillis()를 사용하는 경우 시간이 변경되는 시기를 확인하기 위해 android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICK브로드 android.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED 캐스트 및 android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.content.Intent Intent 수신 대기를 고려합니다.

<리>

#uptimeMillis 는 시스템이 부팅된 후 밀리초 단위로 계산됩니다. 이 클록은 시스템이 깊은 절전 모드로 전환(CPU 꺼져 있음, 어둡게 표시, 외부 입력을 기다리는 디바이스)가 중지되지만 클록 크기 조정, 유휴 또는 기타 절전 메커니즘의 영향을 받지 않습니다. 이는 대부분의 간격 타이밍(예: Thread#sleep(long) Thread.sleep(millls), Object#wait(long) Object.wait(millis)System#nanoTime System.nanoTime())의 기초입니다. 이 클록은 단조로 보장되며, 간격이 디바이스 절전 모드에 걸쳐 있지 않은 경우 간격 타이밍에 적합합니다. 타임스탬프 값을 허용하는 대부분의 메서드에는 현재 클록이 #uptimeMillis 필요합니다.

<리>

#elapsedRealtime 시스템이 #elapsedRealtimeNanos 부팅된 후 시간을 반환하고 깊은 절전 모드를 포함합니다. 이 클록은 단조로 보장되며 CPU가 절전 모드인 경우에도 계속 틱하므로 범용 간격 타이밍에 대한 권장 기준이 됩니다.

</ul>

이벤트의 타이밍을 제어하기 위한 몇 가지 메커니즘이 있습니다.

<ul><li>

표준 함수는 Thread#sleep(long) Thread.sleep(millis)Object#wait(long) Object.wait(millis) 항상 사용할 수 있습니다. 이러한 함수는 시계를 사용합니다 #uptimeMillis . 디바이스가 절전 모드로 들어가면 디바이스가 절전 모드 해제될 때까지 나머지 시간이 연기됩니다. 이러한 동기 함수는 중단 Thread#interrupt Thread.interrupt()될 수 있으며 처리 InterruptedException해야 합니다.

<리>

#sleep SystemClock.sleep(millis) 는 유틸리티 함수와 매우 유사 Thread#sleep(long) Thread.sleep(millis)하지만 무시됩니다 InterruptedException. 이 함수는 스레드의 중단된 상태를 유지하므로 사용하지 Thread#interrupt Thread.interrupt()않는 경우 지연에 사용합니다.

<리>

클래스는 android.os.Handler 절대 또는 상대 시간에 비동기 콜백을 예약할 수 있습니다. 처리기 개체는 또한 클록을 #uptimeMillis 사용하며(일반적으로 모든 GUI 애플리케이션에 있음) 필요합니다 android.os.Looper event loop .

<리>

디바이스가 android.app.AlarmManager 절전 모드이거나 애플리케이션이 실행되고 있지 않은 경우에도 발생하는 일회성 또는 되풀이 이벤트를 트리거할 수 있습니다. RTC(선택 java.lang.System#currentTimeMillis 사항) 또는 #elapsedRealtime (ELAPSED_REALTIME)를 사용하여 이벤트를 예약할 수 있으며 이벤트가 발생할 때 브로드캐스트가 android.content.Intent 발생할 수 있습니다. </ul>

에 대한 android.os.SystemClockJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

속성

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
JniPeerMembers

핵심 타임키핑 시설.

PeerReference

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)

메서드

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
CurrentGnssTimeClock()

Clock 1970년 1월 1일 00:00:00에 시작하는 값을 반환합니다.

CurrentNetworkTimeClock()

Clock 1970년 1월 1일 00:00:00에 시작하는 값을 반환합니다.

CurrentThreadTimeMillis()

현재 스레드에서 실행 중인 밀리초를 반환합니다.

Dispose()

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
Dispose(Boolean)

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
ElapsedRealtime()

절전 모드에서 소요된 시간을 포함하여 부팅 후 밀리초를 반환합니다.

ElapsedRealtimeNanos()

절전 모드에서 소요된 시간을 포함하여 부팅 이후 나노초를 반환합니다.

Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetCurrentTimeMillis(Int64)

현재 벽 시간을 밀리초 단위로 설정합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
Sleep(Int64)

반환하기 전에 지정된 시간(uptimeMillis)의 시간(밀리초)을 기다립니다.

ToArray<T>()

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
UptimeMillis()

부팅 이후 밀리초를 반환하며 깊은 절전 모드에서 소요된 시간을 계산하지 않습니다.

Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

핵심 타임키핑 시설.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

핵심 타임키핑 시설.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

핵심 타임키핑 시설.

GetJniTypeName(IJavaPeerable)

핵심 타임키핑 시설.

적용 대상