SystemClock 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
핵심 타임키핑 시설.
[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
- 상속
- 특성
설명
핵심 타임키핑 시설.
세 가지 다른 시계를 사용할 수 있으며 혼동해서는 안됩니다.
<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_CHANGED
android.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.SystemClock
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
속성
Class |
이 |
Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
JniIdentityHashCode |
핵심 타임키핑 시설. (다음에서 상속됨 Object) |
JniPeerMembers |
핵심 타임키핑 시설. |
PeerReference |
핵심 타임키핑 시설. (다음에서 상속됨 Object) |
ThresholdClass |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
ThresholdType |
이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Object) |
메서드
Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
CurrentGnssTimeClock() |
|
CurrentNetworkTimeClock() |
|
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, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 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) |
핵심 타임키핑 시설. |