Android 输入流上的响应时间

Android 输入流上的响应时间,android,inputstream,http-get,urlconnection,instagram-api,Android,Inputstream,Http Get,Urlconnection,Instagram Api,当我尝试在Instagram上发出get请求时,平均延迟为250毫秒。在iOS上的相同调用大约为50毫秒。我尝试了StringBuilder、HttpGet和HttpResponse(最差延迟为350毫秒) 有人能告诉我如何减少延迟吗?什么是可变的响应?传输了多少数据?你能提前预测(至少有一个界限)有多少数据将被传输吗?延迟是在哪里引入的?是建立连接、实际请求还是数据传输?传输了多少数据?如果您提供的信息不准确,我们将无法帮助您。您已经编辑了您的问题,将response声明添加为String,但

当我尝试在Instagram上发出get请求时,平均延迟为250毫秒。在iOS上的相同调用大约为50毫秒。我尝试了StringBuilder、HttpGet和HttpResponse(最差延迟为350毫秒)


有人能告诉我如何减少延迟吗?

什么是可变的
响应
?传输了多少数据?你能提前预测(至少有一个界限)有多少数据将被传输吗?延迟是在哪里引入的?是建立连接、实际请求还是数据传输?传输了多少数据?如果您提供的信息不准确,我们将无法帮助您。您已经编辑了您的问题,将
response
声明添加为
String
,但是
String
没有
append()
方法,例如您的代码在
response
上调用@dhke Delay是在urlConnection.getInputStream()上。get方法是(https://)api.instagram.com/v1/users/{user id}/media/recent/?access\u token=access-token,响应为JSON@Erturr嗯,那是在读取任何数据之前,即在套接字连接和HTTP请求阶段。您可以尝试将原始
SSLSocket
设置到同一服务器的端口
443
,查看延迟是否由TLS协商实际引入。
        StringBuilder response = "";
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.connect();
        long start2 = System.currentTimeMillis();
        BufferedReader reader = new BufferedReader(new InputStreamReader( urlConnection.getInputStream()));
        Log.e("Response Time", "Reader ends = " + (System.currentTimeMillis() - start2));
        char[] buf = new char[2048];
        int charsRead;
        while((charsRead = reader.read(buf, 0, 2048)) > 0) {
            response.append(buf, 0, charsRead);
        }
        reader.close();
        urlConnection.close();