Skip to Content
Docs模组FizzyKernel 细节

Kernel 细节(render / runtime / state)

Render phase 与 layer

UiRenderPhase 顺序:

  1. BEHIND
  2. BACKGROUND
  3. FRAME
  4. ELEMENT
  5. SPLIT
  6. WIDGET
  7. TOOLTIP
  8. OVERLAY

UiRenderLayer = (phase, order)
UiRenderTaskQueuephase -> order -> serial 排序执行。

Runtime 与响应式状态

  • UiRuntime.frameTick()
    • scheduler.drain()
    • stateKernel.flush()
  • StateKernel
    • 可变信号:mutableSignal
    • 计算信号:computedSignal
    • 副作用:effect
    • 批处理:batch

示例:

UiRuntime runtime = UiRuntime.createForCurrentThread(); var state = runtime.state(); var count = state.mutableSignal(0); var text = state.computedSignal(() -> "Count = " + count.get()); state.effect(() -> System.out.println(text.get())); state.batch(() -> { count.set(1); count.set(2); }); runtime.frameTick();
Last updated on