gpt4 book ai didi

android - 在 Android 上处理 HttpClient 的最佳方式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:43 25 4
gpt4 key购买 nike

我可以找到大量教程,说明如何在简单 情况下构造和使用 HttpClient。但是我找不到更复杂案例的任何像样的文档。

在我的应用程序中,我有一堆 Activity,每个 Activity 都必须能够使用 HTTPS 通过 POST 消息与远程 WebService 通信。我还必须登录此服务,因此我需要管理登录 cookie。

目前,我在 .onStart() 中为每个 Activity 构建一个单独的 HttpClient,并在 .onStop() 中释放它。我有一个工作队列,其中包含描述必须与远程服务通信的任务的详细信息的对象。我使用单个 worker AsyncTask 执行这些任务。此解决方案似乎可行,但我不确定它是否是最佳解决方案。

我考虑过另外两种架构:

  1. 创建处理 HttpClient 的后台服务。这样我就可以通过多个 Activity 使用同一个实例,我想这会更好。但我不确定何时停止此服务并释放 HttpClient。
  2. 仅在需要时创建 HttpClient。因此,例如,当用户单击启动远程调用的按钮时,我会构建客户端、设置 cookie 和 POST 消息、执行它,完成后我会立即释放它。我认为这种方法很糟糕,因为创建这样的客户端会产生开销(特别是如果我使用 HTTPS)。

所以任何对 HttpClient 的工作原理以及它在 Android 中应该如何处理有更多了解的人,您能否对这些方法发表评论/分享一些有用的技巧?

谢谢

最佳答案

解决方案 1 很好。一旦队列为空,您就可以停止服务。它与您的解决方案 2 相结合,因为该服务仅在需要时启动。当您的用户单击一个按钮时,您将启动您的服务,例如您绑定(bind)到它并向它发出您的请求。

关于android - 在 Android 上处理 HttpClient 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7259586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com