Flutter ScrollController removeListener

#flutter

#флаттер

Вопрос:

Я хочу знать, должны ли мы вызывать removeListener dispose StatefulWidget? как насчет scrollController.dispose();

Достаточно ли умен dart / flutter, чтобы автоматически его утилизировать?

 class Test extends StatefulWidget {
  @override
  _TestState createState() => _TestState();
}

class _TestState extends State<Test> {
  final scrollController = ScrollController();
  
  @override
  Widget build(BuildContext context) {
    return Container();
  }

  @override
  void initState() {
    scrollController.addListener(() { 
      print('TEST');
    });
  }
}

 

Ответ №1:

Нет, flutter не будет утилизировать его автоматически, вы должны утилизировать его вручную, используя метод dispose.

Комментарии:

1. Удаляет ли Flutter сам ScrollController, если, например, при открытии представления не подключен прослушиватель, или вы ВСЕГДА должны вызывать dispose() независимо?