java - Android:HttpURLConnection 还是套接字?

标签 java android sockets

我有一个 Android 应用程序,每 2 秒调用一个 URL。 我知道这会耗尽电池电量。但我需要连接,因为应用程序和网络服务器之间必须始终存在连接。

现在我的问题是:使用“HttpURLConnection”每 2 秒或使用套接字是否对性能和电池更好。 如果是 socket ,哪个 socket ? Asynctask、thread、websocket,还是用这种方式?: Socket Programming using android and php

最佳答案

如果您的目标是 Android 2.3 或更高版本,请务必使用 URLConnection; 对于以下 Android 版本,请考虑 Apache HttpClient;

有关更多信息,请参阅此链接 here

两者(如果使用得当)都在后台维护 session 并使用 ConnectionPooling 来帮助您避免每次都建立新的 TCP session 的开销。 URLConnection 针对较新的 Android 版本进行了高度优化,可能最适合您的挑战。

关于 ConnectionPooling,请考虑这篇文章 here

不要为 http 使用套接字,因为所提供的 http 客户端是高度优化的(例如,如果可能,URLConnection 使用压缩);套接字仅在您需要访问不同的协议(protocol)时才有意义...

关于java - Android:HttpURLConnection 还是套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23308224/

相关文章:

java - 适用于具有共同依赖性的多个应用程序的 Glassfish 环境

java - 迭代 HashMap

java - awt.TrayIcon 是否可以区分双击托盘图标和关闭气球消息?

android - 如何申请限时试用?

c++ - 如何重启套接字程序?

java - 我如何从 Emma 中删除/过滤/忽略某些包(代码覆盖率)

android - Android 中的 ODEX 文件是什么?

android删除应用数据奇怪的问题

web-services - Web 浏览器如何知道请求的 url 是 https 还是 http

javascript - 套接字io事件触发多次