【发布时间】:2019-12-28 15:19:19
【问题描述】:
我的 Flutter 移动应用与我的后端服务器通信。文档说最好使用Client 类(IOClient)而不是普通的get、put 等方法来维持对同一服务器的多个请求的持久连接。
Docs 还说:
在使用完每个客户端后关闭它是很重要的;失败 这样做会导致 Dart 进程挂起。
我不明白什么时候需要关闭客户端,因为几乎所有应用程序屏幕都需要 HTTP 连接到同一台服务器。这里的最佳做法是什么?
更新:
是否可以仅在应用终止之前关闭Client,还是应该在每次隐藏应用时关闭它(进入paused 状态)?
【问题讨论】:
-
他们似乎删除了您在文档中引用的行。您选择了哪种解决方案?
-
我已更新链接,使其指向关闭方法本身。我只在应用程序终止之前关闭客户端。它对我有用,不确定它是否会导致任何问题(很少发生)。
-
我一直在搜索,如果应用程序终止(例如第一页的
dispose),似乎不会执行任何飞镖代码。你在哪里调用了 close 方法? -
@HảiNguyễn 我订阅了应用程序生命周期更改并在
didChangeAppLifecycleState方法if (state == AppLifecycleState.detached)中关闭客户端