未处理的异常:堆栈溢出,Flutter GetXController 正在初始化 2000 次

Posted

技术标签:

【中文标题】未处理的异常:堆栈溢出,Flutter GetXController 正在初始化 2000 次【英文标题】:Unhandled Exception: Stack Overflow , Flutter GetXController is being initialized for 2000 times 【发布时间】:2021-12-28 10:27:33 【问题描述】:

我只在主页上使用了一次 GetXController:

class NewOrdersList extends StatelessWidget 

  final OrdersController ordersC = Get.put(OrdersController());
...

然后每当我需要控制器时,我都会简单地使用

  OrdersController ordersC = Get.find();

和控制器本身:

  @override
  void onInit() 
    trackLocation();
    super.onInit();
  

在函数的末尾trackLocation(); 我使用OrdersController ordersC = Get.find(); 因为我需要访问控制器内部的一个变量。

但是当你启动应用程序时,我看到控制器已经初始化了数千次。

【问题讨论】:

你也可以分享你的trackLocation函数吗? 【参考方案1】:

如果你在同一个类中使用控制器,你不需要每次都写Get.find()。如果您需要在其他类中访问您的OrderController's 实例,那么只有这样您才能使用Get.find。并且不要在trackLocation() 之后写OrderController ordersC = Get.find()。因为一旦初始化控制器(放置或查找),您就可以从中访问所有变量。切勿在代码中多次初始化控制器。

【讨论】:

以上是关于未处理的异常:堆栈溢出,Flutter GetXController 正在初始化 2000 次的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio C/C++ 数组大小未处理的异常堆栈溢出 [重复]

OpenARK-SDK.exe 中 0x00007FF74F27A526 处的未处理异常:0xC00000FD:堆栈溢出(参数:0x0000000000000001、0x000000EEC5803FD

OpenCV findContours 堆栈溢出

显示我让 RenderFlex 溢出未处理?

OpenCL 堆栈溢出。如何解决?

.NET 异常处理程序导致 Visual C++ 6.0 异常的堆栈溢出