start method

  1. @override
void start([
  1. TickerProvider? provider,
  2. bool allowRest = true
])
override

Implementation

@override
void start([TickerProvider? provider, bool allowRest = true]) {
  if (_nodeList.isEmpty) {
    return;
  }
  int nowTime = DateTime.now().millisecondsSinceEpoch;
  for (var element in _nodeList) {
    int startTime = element.computeStartTime(force: true);
    if (startTime == nowTime) {
      _runningList.add(element);
    } else if (startTime > nowTime) {
      _waitRunList.add(element);
    } else {
      throw FlutterError('Duration 不能为负值');
    }
  }
  for (var element in _runningList) {
    element.start(provider);
  }
  _ticker?.start();
}