/**
* Registers a callback to be executed when the next frame is being drawn on RenderThread. This
* callback will be executed on a RenderThread worker thread, and only used for the next frame
* and thus it will only fire once.
*
* @param callback The callback to register.
*/
void registerRtFrameCallback(@NonNull FrameDrawingCallback callback) {
if (mNextRtFrameCallbacks == null) {
mNextRtFrameCallbacks = new ArrayList<>();
}
mNextRtFrameCallbacks.add(callback);
}
把 callback 加入到 mNextRtFrameCallbacks 中。在 updateRootDisplayList() 中调用 setFrameCallback() 向底层设置回调。