Get.lazyPut的 fenix 和其他方法的 “permanent” 差异

3 min read

permanent和fenix的根本区别在于你想如何存储实例

默认情况下,GetX会在不使用实例时删除它们。

这意味着 如果页面1有控制器1,页面2有控制器2,而从堆栈中删除了第一个路由**(比如使用Get.off()或Get.offNamed())**

控制器1失去了它的使用,所以它将被删除。

但是如果选择使用permanent:true,那么控制器就不会在这个过渡中丢失

这对于在整个应用程序中保持生命的服务来说非常有用。

fenix则是针对那些你不担心在页面变化之间丢失的服务,但当你需要该服务时,你希望它还活着。

所以基本上,它会处理未使用的控制器/服务/类,但当你需要它时,它会 **"从灰烬中重新创建 "**一个新的实例 -- 不死鸟一辉