gpt4 book ai didi

flutter - 在 flutter 中未调用 Dispose 方法

转载 作者:行者123 更新时间:2023-12-04 00:19:28 31 4
gpt4 key购买 nike

我面临一个问题,在 flutter 中更改屏幕后不调用 dispose 方法。首先这里是源代码。

class Game extends StatefulWidget {

Game({Key key, this.title}) : super(key: key);

final String title;
@override
_GameState createState() => new _GameState();
}

class _GameState extends State<Game> with SingleTickerProviderStateMixin {

final CrosswordController myController = CrosswordController();

var chewieController = null;
var videoPlayerController = null;


Widget makeVideoStreaming(){
videoPlayerController = VideoPlayerController.network("https://somelink.com");
chewieController = ChewieController(//paramtere here
);
}

@override
void initState() {
super.initState();
this.makeVideoStreaming();
_controller = AnimationController(vsync: this, duration: Duration(minutes: gameTime));
}

@override
void dispose(){
print('DISPOSE CALLED- GAME---');
videoPlayerController.dispose();
chewieController.dispose();
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: _onBackPressed,
child: Scaffold(
key: _scaffoldKey,
drawer: NavigationDrawer(),
resizeToAvoidBottomPadding: false,

body://body here
),
);
}
}

NavigationDrawer()我改变了一些不同的路线,就像这样。
 onTap: () {
Navigator.pop(context); Navigator.pushNamed(context, '/edit_profile');
},

以上只是在单击抽屉列表项中的一项后调用的代码的一部分。
GameState为什么不调用 dispose 方法?

最佳答案

当您从堆栈中移除屏幕时调用的 Dispose 方法意味着当您使用 时navigator.pop() pushReplacement ;

关于flutter - 在 flutter 中未调用 Dispose 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61611415/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com