InputStream と OutputStream を取得し、次のように機能するダウンローダー クラスがあります。
while (isCanceled() == false) {
synchronized (inputStream) {
readCount = inputStream.read(readBuffer);
}
if (readCount < 0) {
break;
}
pipedOutputStream.write(readBuffer, 0, readCount);
}
すべての Android バージョンで正常に動作しますが、Android を 7 (Nougat) に更新した後、outputStream への書き込みに約 4 秒かかります (他の Android バージョンでは数ミリ秒かかります)。私の outputStream フィールドのタイプは PipedOutputStream です。
ここに私の変数の初期化があります:
URLConnection connection = getConnection();
inputStream = connection.getInputStream();
PipedInputStream pipedInputStream = new PipedInputStream();
pipedOutputStream = new PipedOutputStream(pipedInputStream);
どうすればこの問題を解決できますか?