我有一个 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/