[Flutter]当Flutter遇上键盘,会rebuild多次

686 阅读1分钟

记录一下Flutter开发中遇到的坑。 起因:在页面放入了一个TextField,并弹出了输入法,页面疯狂的调用build方法,所有页面都刷新了一遍,最要命的是接口重新访问了N遍。 处理过程:百度了一下得知,是APP调用了MediaQuery.of(context)方法,会在屏幕变化时,在调用的地方都会重新rebuild。知道原因后,排除所有代码中使用了MediaQuery.of(context)的地方,获取屏幕宽度的使用LayoutBuilder。 结果:输入法弹起后,界面没有重新build。