我的 Flutter 移动应用程序与我的后端服务器通信。该文件说这是更好地利用Client类(IOClient)比普通的get,put等方法来维护多个请求到同一台服务器持续连接。
文档还说:
使用完毕后关闭每个客户端很重要;否则会导致 Dart 进程挂起。
我不明白什么时候需要关闭客户端,因为几乎所有的应用程序屏幕都需要到同一个服务器的 HTTP 连接。这里的最佳做法是什么?
更新:
是否可以Client仅在应用程序终止之前关闭,还是应该在每次应用程序隐藏(进入paused状态)时关闭它?
我个人认为,在每次用户操作后关闭客户端是最好的做法。
我所说的“用户操作”可以由多个API请求组成。
所以我认为最好的是这样的:
var client = http.Client();
try {
var response = await client.post(
Uri.https('my-api-site.com', 'users/add'),
body: {'firstname': 'Alain', 'Lastname': 'Deseine'});
var Response = jsonDecode(utf8.decode(response.bodyBytes)) as Map;
...
// Add here every API request that you need to complete the users action
} finally {
// Then finally destroy the client.
client.close();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3487 次 |
| 最近记录: |