我有一个下载程序类,它获取一个InputStream和OutputStream,其工作方式如下:
while (isCanceled() == false) {
synchronized (inputStream) {
readCount = inputStream.read(readBuffer);
}
if (readCount < 0) {
break;
}
pipedOutputStream.write(readBuffer, 0, readCount);
}
它适用于所有Android版本,但在我将我的android更新为7(Nougat)后,需要将近4秒的时间写入outputStream(在其他Android版本中需要几毫秒)。 我的outputStream字段是PipedOutputStream类型。
这是我的变量初始化:
URLConnection connection = getConnection();
inputStream = connection.getInputStream();
PipedInputStream pipedInputStream = new PipedInputStream();
pipedOutputStream = new PipedOutputStream(pipedInputStream);
我该如何解决这个问题?