[英]Flutter Get.width or initialize MediaQuery.of(context).size not working in Release mode
When ı use get.width or height at first page in project or initialize like this ;当我在项目的第一页使用get.width或height或像这样初始化时;
@override
void didChangeDependencies() {
SizeConfig().init(context);
super.didChangeDependencies();
}
also SizeConfig page :还有 SizeConfig 页面:
class SizeConfig {
static late MediaQueryData _mediaQueryData;
static late double width;
static late double height;
static late double blockSizeHorizontal;
static late double blockSizeVertical;
static late double res;
void init(BuildContext context) {
_mediaQueryData = MediaQuery.of(context);
width = _mediaQueryData.size.width;
height = _mediaQueryData.size.height;
}
} }
It is not working.它不工作。
But when ı use debug mode they are working well.但是当我使用调试模式时,它们运行良好。 Yes the release mode faster than debug mode but how can we solve it?
是的,发布模式比调试模式快,但我们该如何解决呢?
Try below code试试下面的代码
void init(BuildContext context) {
WidgetsBinding.instance!.addPostFrameCallback((_) {
// executes after build
_mediaQueryData = MediaQuery.of(context);
width = _mediaQueryData.size.width;
height = _mediaQueryData.size.height;
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.