Есть ли проблема утечки Android GZIPInputStream

Я обнаружил, что для некоторого случая (GZIPInputStream throw IOException), есть утечка - член Inflater GZIPInputStream, который построен в первом выражении, не освобождается правильно через функцию "end()". В этом случае GZIPInputStream не создается, поэтому вызывающая функция не может его закрыть. Действительно ли GZIPInputStream не так?

public GZIPInputStream(InputStream is, int size) throws IOException {
    super(is, new Inflater(true), size);
    byte[] header = new byte[10];
    readFully(header, 0, header.length);
    int magic = getShort(header, 0);
    if (magic != GZIP_MAGIC) {
        throw new IOException(String.format("unknown format (magic number %x)", magic));
    }
    ......
}

0 ответов

Другие вопросы по тегам