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
- Наследование
- Атрибуты
Комментарии
Основные средства хранения времени.
Доступны три разных часа, и их не следует путать:
<ul><li>
System#currentTimeMillis System.currentTimeMillis()
— это стандартные "стены" часы (время и дата) выражения миллисекунд с эпохи. Стенные часы можно задать пользователем или телефонной сетью (см #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
учитывается в миллисекундах, так как система была загружена. Эти часы останавливаются, когда система входит в глубокий спящий режим (ЦП, отображение темного, устройства, ожидающее внешних входных данных), но не влияет на масштабирование часов, бездействие или другие механизмы экономии питания. Это основа для большинства интервалов времени, таких как Thread#sleep(long) Thread.sleep(millls)
, Object#wait(long) Object.wait(millis)
и System#nanoTime System.nanoTime()
. Эти часы гарантированно будут монотонными и подходят для интервала времени, когда интервал не охватывает спящий режим устройства. Большинство методов, которые принимают значение метки времени, в настоящее время ожидают #uptimeMillis
часы.
<Литий>
#elapsedRealtime
и #elapsedRealtimeNanos
возврат времени загрузки системы и включение глубокого сна. Эти часы гарантированно будут монотонными и продолжают тикать, даже если ЦП находится в режимах экономии питания, поэтому рекомендуется использовать время интервала общего назначения.
</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
часы и требуют (обычно присутствуют android.os.Looper event loop
в любом приложении графического интерфейса).
<Литий>
Это android.app.AlarmManager
может активировать однократные или повторяющиеся события, которые происходят, даже если устройство находится в глубоком спящий режиме или приложение не работает. События могут быть запланированы с выбранным вариантом java.lang.System#currentTimeMillis
(RTC) или #elapsedRealtime
(ELAPSED_REALTIME), а также вызывать трансляцию android.content.Intent
при их возникновении. </ul>
Документация по Java для android.os.SystemClock
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Свойства
Class |
Возвращает класс среды выполнения этого |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Основные средства хранения времени. (Унаследовано от Object) |
JniPeerMembers |
Основные средства хранения времени. |
PeerReference |
Основные средства хранения времени. (Унаследовано от Object) |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Object) |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Object) |
Методы
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
CurrentGnssTimeClock() |
Возвращает значение |
CurrentNetworkTimeClock() |
Возвращает значение |
CurrentThreadTimeMillis() |
Возвращает миллисекунда, запущенные в текущем потоке. |
Dispose() |
Основные средства хранения времени. (Унаследовано от Object) |
Dispose(Boolean) |
Основные средства хранения времени. (Унаследовано от Object) |
ElapsedRealtime() |
Возвращает миллисекунда с момента загрузки, включая время, затраченное на спящий режим. |
ElapsedRealtimeNanos() |
Возвращает nanoseconds с момента загрузки, в том числе время, затраченное на спящий режим. |
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() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от 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) |
Основные средства хранения времени. |