我有一个HTTP请求分发器类,大多数情况下它都能正常工作,但是我注意到当接收较大的请求时会“停滞”。在调查问题后,我认为可能是我没有为缓冲区分配足够的字节。以前,我是这样做的:
byte[] buffer = new byte[10000];
将其更改为20000后,似乎已经停止了卡顿:
String contentType = connection.getHeaderField("Content-type");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream responseData = connection.openInputStream();
byte[] buffer = new byte[20000];
int bytesRead = responseData.read(buffer);
while (bytesRead > 0) {
baos.write(buffer, 0, bytesRead);
bytesRead = responseData.read(buffer);
}
baos.close();
connection.close();
我这样做对吗?有没有办法根据请求的大小动态设置缓冲区的字节数?
谢谢...