Choreographer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Координирует время анимации, ввода и рисования.
[Android.Runtime.Register("android/view/Choreographer", DoNotGenerateAcw=true)]
public sealed class Choreographer : Java.Lang.Object
[<Android.Runtime.Register("android/view/Choreographer", DoNotGenerateAcw=true)>]
type Choreographer = class
inherit Object
- Наследование
- Атрибуты
Комментарии
Координирует время анимации, ввода и рисования.
Хореограф получает импульсы времени (например, вертикальную синхронизацию) от подсистемы отображения, а затем планирует работу в рамках отрисовки следующего кадра дисплея.
Приложения обычно взаимодействуют с хореографом косвенно, используя абстракции более высокого уровня в структуре анимации или иерархии представлений. Ниже приведены некоторые примеры действий, которые можно сделать с помощью API более высокого уровня.
<ul><li>Чтобы опубликовать анимацию для обработки на регулярной основе, синхронизированной с отображением кадра отображения, используйте android.animation.ValueAnimator#start
.</li><li чтобы>опубликовать объект , Runnable
который будет вызван один раз в начале следующего кадра отображения, используйте View#postOnAnimation
.</li><li li>Чтобы опубликовать объект для Runnable
вызова один раз в начале следующего кадра отображения после задержки, используйте View#postOnAnimationDelayed
.</li><li>. Чтобы опубликовать вызов , который View#invalidate()
будет выполняться один раз в начале следующего кадра отображения, используйте View#postInvalidateOnAnimation()
или View#postInvalidateOnAnimation(int, int, int, int)
.</li><li li>. Чтобы содержимое прокрутки View
плавно и отображалось в синхронном режиме с отображением кадра, не делайте никаких действий. Это уже происходит автоматически. View#onDraw
будет вызван в соответствующее время.</li></ul>
Однако в некоторых случаях может потребоваться использовать функции хореографа непосредственно в приложении. Рассмотрим некоторые примеры.
<ul><li>. Если приложение выполняет отрисовку в другом потоке, возможно, с помощью GL, или вообще не использует платформу анимации или иерархию представлений, и вы хотите убедиться, что оно надлежащим образом синхронизировано с дисплеем, используйте Choreographer#postFrameCallback
.</li><li>... и это об этом.</li></ul>
У каждой Looper
нити есть свой хореограф. Другие потоки могут размещать обратные вызовы для запуска на хореографа, но они будут работать на Looper
, к которому принадлежит хореограф.
Документация по Java для android.view.Choreographer
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
Instance |
Возвращает хореограф для вызывающего потока. |
JniIdentityHashCode |
Координирует время анимации, ввода и рисования. (Унаследовано от Object) |
JniPeerMembers |
Координирует время анимации, ввода и рисования. |
PeerReference |
Координирует время анимации, ввода и рисования. (Унаследовано от Object) |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Object) |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. (Унаследовано от Object) |
Методы
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Dispose() |
Координирует время анимации, ввода и рисования. (Унаследовано от Object) |
Dispose(Boolean) |
Координирует время анимации, ввода и рисования. (Унаследовано от Object) |
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Notify() |
Пробуждает один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
PostFrameCallback(Choreographer+IFrameCallback) |
Отправляет обратный вызов кадра для выполнения в следующем кадре. |
PostFrameCallbackDelayed(Choreographer+IFrameCallback, Int64) |
Отправляет обратный вызов кадра для выполнения в следующем кадре после указанной задержки. |
PostVsyncCallback(Choreographer+IVsyncCallback) |
Координирует время анимации, ввода и рисования. |
RemoveFrameCallback(Choreographer+IFrameCallback) |
Удаляет ранее опубликованный обратный вызов кадра. |
RemoveVsyncCallback(Choreographer+IVsyncCallback) |
Координирует время анимации, ввода и рисования. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Координирует время анимации, ввода и рисования. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Координирует время анимации, ввода и рисования. (Унаследовано от Object) |
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) |
Координирует время анимации, ввода и рисования. |