Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android http post请求的数据使用量是多少?_Android_Http Post_High Traffic - Fatal编程技术网

Android http post请求的数据使用量是多少?

Android http post请求的数据使用量是多少?,android,http-post,high-traffic,Android,Http Post,High Traffic,我正在为android编写一个应用程序,在这个应用程序中我使用了一些HttpPost请求。 我有一项服务,在该服务中,我在固定时间安排3个请求。 每1.5秒一次,每7秒一次,每20秒一次。 大多数情况下,web服务不会返回任何内容 我在一台设备上安装我的应用程序,并检查了2天。此应用程序使用40万数据,尽管viber仅使用4万数据。(我通过在设备设置中检查数据使用部分找到了它。) 一个简单的HttpPost请求使用了多少数据 如何减少我的应用程序中的数据使用?好吧,唯一能够了解任何POST请求的

我正在为android编写一个应用程序,在这个应用程序中我使用了一些
HttpPost
请求。 我有一项服务,在该服务中,我在固定时间安排3个请求。 每1.5秒一次,每7秒一次,每20秒一次。 大多数情况下,web服务不会返回任何内容

我在一台设备上安装我的应用程序,并检查了2天。此应用程序使用40万数据,尽管viber仅使用4万数据。(我通过在设备设置中检查数据使用部分找到了它。)

一个简单的
HttpPost
请求使用了多少数据


如何减少我的应用程序中的数据使用?

好吧,唯一能够了解任何POST请求的成本的人是你。这在很大程度上取决于您发送的标题/数据

HTTP在发送的数据中引入了一些开销。例如,使用cURL只发布一对值p1=v1和p2=v2,这些是发送的头:

POST / HTTP/1.1
User-Agent: curl/7.35.0
Host: localhost
Accept: */*
Content-Length: 11
Content-Type: application/x-www-form-urlencoded
这些只是标题(正文为此添加了11个字节)。你可以猜到,每1.5秒这样做会产生大量流量

要减少这种情况,您可以采取以下措施:

  • 降低对服务器的请求速率。你真的需要每1,5秒发布一次吗
  • 如果您发布了大量数据,请检查HttpPost是否允许您压缩发送的数据/服务器是否支持HTTP压缩
  • 考虑使用其他技术,如普通套接字/WebSocket。如果您发布的数据很小,这将有助于减少HTTP的开销

编辑:我假设您使用POST请求将数据真正发布到服务器。如果您正在使用它从服务器获取某种状态,那么(Web)套接字或使用推送通知之类的功能可以大大减少所需的请求。

几乎什么都没有。。。你应该查看你发送的内容(参数),也许你可以优化它?你能在服务器上工作吗?我不能向设备发送任何东西。例如,您假设此应用程序是一个聊天应用程序,因此我应该每1.5秒检查一次,以确定此用户是否有@y消息。我在问题下方的评论中解释了每1.5秒使用httpPost的想法。您可以假设这是一个聊天应用程序,我应该每1.5秒检查一次,以发现用户是否有任何新消息,如果有消息,webserver会将其作为请求响应返回。如果您控制了服务器,正如我所说的,WebSocket或server sent events之类的功能应该比这更好。这使您可以避免HTTP带来的大量开销,还可以让您实现从服务器到设备的通信(因此,如果有新消息,则无需每隔1.5秒检查一次:当您有新消息时,您可以将其发送到正确的设备)如果您不控制服务器,然后,您必须尽可能优化。但请注意,您应该始终能够在移动应用程序和当前服务器之间添加第二台服务器,由您控制,并使用您需要的任何技术。我不知道在设备没有有效ip的情况下,服务器如何与设备通信?是否有q软件包帮助我实现这一点?设备打开连接并保持打开状态。然后服务器和客户端都可以读/写它。