当前正在处理本机Android项目。与我的API进行通信非常关键。我目前正在使用Android的Volley libray,它为我提供了很好的服务。
在我的应用程序的工作区中,有一个时间敏感的任务。它向API发送请求,获取响应并启动服务。请求和响应为JSON,数据大小不得超过1KB。我的API在30到60毫秒之间响应此请求,并且由于距离访问延迟约为250毫秒。当应用在WiFi上运行时,它可以按预期运行,没有任何问题,我提到的任务将在1秒内完成。
问题是,当我将手机的连接切换到LTE时,此任务开始需要3到6秒钟才能完成。我检查了连接,仍然获得与服务器的250ms连接延迟和60mbit的下载速度,因此没有明显的问题。因为我没有太多型号的手机,所以我的测试仅限于2-3个型号的设备。有些型号的延迟时间为1-2秒,有些型号的延迟时间为3-6秒。在WiFi上,它们都可以在1秒内完成任务。
我分析了我的应用,以找出导致此延迟的部分。在Volley的队列添加和获得响应之间发生延迟。我的排球是单身班,只有一个队列。出于测试目的,我尝试通过带有asynctask的HttpURLConnection发送此请求,但未进行任何更改。
根据这些信息,我应该从哪里开始寻找?是什么原因导致这种延迟?