0

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);

どうすればこの問題を解決できますか?

4

0 に答える 0