doRenderBatch method

  1. @override
void doRenderBatch()
override

Implementation

@override
void doRenderBatch() {
  LogUtils.d(_kTag, "do batch size: ${_uiUpdateNodes.length}");
  _updateRenderNodes.addAll(_uiUpdateNodes);
  // _updateRenderNodes.addAll(_nullUiUpdateNodes);

  for (var renderNode in _uiUpdateNodes) {
    renderNode.createViewModel();
  }

  for (var renderNode in _uiUpdateNodes) {
    renderNode.update();
  }

  for (var renderNode in _uiUpdateNodes) {
    renderNode.applyProps();
  }

  for (var renderNode in _uiUpdateNodes) {
    renderNode.batchComplete();
  }

  _uiUpdateNodes.clear();

  // measureInWindow and dispatch ui function
  for (var renderNode in _nullUiUpdateNodes) {
    renderNode.createViewModel();
  }

  for (var renderNode in _nullUiUpdateNodes) {
    renderNode.update();
  }

  for (var renderNode in _nullUiUpdateNodes) {
    renderNode.batchComplete();
  }

  _nullUiUpdateNodes.clear();

  updateRender();
}