Flutter 如何确保在Android Studio中应用程序热重新加载时调用函数?

Flutter 如何确保在Android Studio中应用程序热重新加载时调用函数?,flutter,devops,Flutter,Devops,我有一个flatter应用程序,它依赖于根据运行环境设置的正确服务器URL。但是,在热重新加载期间似乎没有调用我的函数 我的main.dart的顶部有: String TARGET_URL; /// TODO: Replace once figure out how to set environment Variables based on type of device. void setTargetURLForEnv() async { DeviceInfoPlugin deviceInfo

我有一个flatter应用程序,它依赖于根据运行环境设置的正确服务器URL。但是,在热重新加载期间似乎没有调用我的函数

我的
main.dart的顶部有:

String TARGET_URL; /// TODO: Replace once figure out how to set environment Variables based on type of device.

void setTargetURLForEnv() async {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  if (Platform.isIOS) {
    IosDeviceInfo iosDeviceInfo = await deviceInfo.iosInfo;
    if (iosDeviceInfo.isPhysicalDevice) {
      TARGET_URL = 'http://aws-server-url.com';
    } else {
      TARGET_URL = 'http://localhost:6900';
    }
  }
}

void main() async {
  runApp(App());
  setTargetURLForEnv();
}


热重新加载会导致
TARGET\u URL
为空,即使在iOS模拟器上运行也是如此。如何强制调用此方法?

请在runApp(App())上方尝试setTargetURLForEnv()。我认为,因为它在App()之外,热重新加载App不会执行该函数。尝试热重启(“R”)而不是在终端中热重新加载。

移动
setTargetURLForEnv()
不起作用。您所说的“尝试热重启('R')”到底是什么意思?目前Android Studio在保存changesHot reload时为我执行热重新加载。根据我的知识(我也是初学者),重新加载当前小部件及其子小部件。您已经在父小部件之外编写了调用的函数。所以你必须重新启动应用程序。在VS代码中,热重启按钮为“R”。我不知道安卓工作室。试着用谷歌搜索Android studioI中的热重启按钮。所以在保存时热重启不是一件事,在保存过程中是热重启。它确实加快了开发速度,但有时需要热重启。很高兴我能帮上忙。