未处理的异常:堆栈溢出,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