我有一个下载器类,它得到一个 InputStream 和 OutputStream 并且像这样工作:
while (isCanceled() == false) {
synchronized (inputStream) {
readCount = inputStream.read(readBuffer);
}
if (readCount < 0) {
break;
}
pipedOutputStream.write(readBuffer, 0, readCount);
}
它适用于所有 android 版本,但在我将我的 android 更新到 7(牛轧糖)后,写入 outputStream 需要将近 4 秒(在其他 android 版本中需要几毫秒)。我的 outputStream 字段属于 PipedOutputStream 类型。
这是我的变量初始化:
URLConnection connection = getConnection();
inputStream = connection.getInputStream();
PipedInputStream pipedInputStream = new PipedInputStream();
pipedOutputStream = new PipedOutputStream(pipedInputStream);
我怎么解决这个问题?