Flutter | super.dispose() 的调用顺序

2021-07-16  本文已影响0人  Lol刀妹

你看源码或者三方时应该都会发现:super.dispose() 是写在 dispose 方法最后的:

// _TabBarViewState 的 dispose
@override
void dispose() {
  if (_controllerIsValid)
    _controller!.animation!.removeListener(_handleTabControllerAnimationTick);
    _controller = null;
    // We don't own the _controller Animation, so it's not disposed here.
    super.dispose();
}

这个和 iOS 不一样,为什么在 Flutter 里最后调 super

这里有详细的回答:

https://stackoverflow.com/questions/58400001/should-i-call-super-initstate-at-the-end-or-at-the-beginning

上一篇下一篇

猜你喜欢

热点阅读