Choreographer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
协调动画、输入和绘图的计时。
[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>若要在延迟后在下一个 Runnable
显示帧的开头发布一次要调用的 ,请使用 View#postOnAnimationDelayed
。</li><li>若要在下一个显示帧的开头发布对 的调用 View#invalidate()
,请使用 View#postInvalidateOnAnimation()
或 View#postInvalidateOnAnimation(int, int, int, int)
。</li><li>若要确保滚动内容 View
流畅且与显示帧呈现同步绘制,不执行任何操作。 这已自动发生。 View#onDraw
将在适当时间调用 。</li></ul>
但是,在某些情况下,你可能希望直接在应用程序中使用编舞器的功能。 下面是一些示例。
<ul><li>如果应用程序在不同的线程(可能使用 GL)中执行其呈现,或者根本不使用动画框架或视图层次结构,并且你想要确保它与显示正确同步,则使用 Choreographer#postFrameCallback
。</li><li>...就是这样。</li></ul>
每个 Looper
线程都有自己的编舞程序。 其他线程可以发布回调以在编舞器上运行,但它们将在编舞者所属的 上运行 Looper
。
的 android.view.Choreographer
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
Instance |
获取调用线程的编舞程序。 |
JniIdentityHashCode |
协调动画、输入和绘图的计时。 (继承自 Object) |
JniPeerMembers |
协调动画、输入和绘图的计时。 |
PeerReference |
协调动画、输入和绘图的计时。 (继承自 Object) |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for 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() |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</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) |
协调动画、输入和绘图的计时。 |