The Internet Archive discovers and captures web pages through many different web crawls.
At any given time several distinct crawls are running, some for months, and some every day or longer.
View the web archive through the Wayback Machine.
Coordinates the timing of animations, input and drawing.
The choreographer receives timing pulses (such as vertical synchronization)
from the display subsystem then schedules work to occur as part of rendering
the next display frame.
Applications typically interact with the choreographer indirectly using
higher level abstractions in the animation framework or the view hierarchy.
Here are some examples of things you can do using the higher-level APIs.
To post an animation to be processed on a regular time basis synchronized with
display frame rendering, use start().
To ensure that the contents of a View scroll smoothly and are drawn in
sync with display frame rendering, do nothing. This already happens automatically.
onDraw(Canvas) will be called at the appropriate time.
However, there are a few cases where you might want to use the functions of the
choreographer directly in your application. Here are some examples.
If your application does its rendering in a different thread, possibly using GL,
or does not use the animation framework or view hierarchy at all
and you want to ensure that it is appropriately synchronized with the display, then use
postFrameCallback(Choreographer.FrameCallback).
... and that's about it.
Each Looper thread has its own choreographer. Other threads can
post callbacks to run on the choreographer but they will run on the Looper
to which the choreographer belongs.
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.
Causes the current thread to wait until either another thread invokes the
notify() method or the
notifyAll() method for this object, or a
specified amount of time has elapsed.
This site uses cookies to store your preferences for site-specific language and display options.
Hooray!
This class requires API level
or higher
This doc is hidden because your selected API level for the
documentation is . You can change the
documentation API level with the selector above the left navigation.