Нашел этот код на работе, и мой ведущий разработчик сказал: «Это может вызвать утечку памяти». и поступил так, как будто это было неважно.Открывает ли InputStream постоянную утечку?
InputStream is = ...
GZIPInputStream zis = new GZIPInputStream(new BufferedInputStream(is));
someMethod(zis);
Без закрытия входного потока. Это в Android, поэтому его Java 1.6, где InputStream не реализует AutoCloseable. Это вызовет утечку памяти КАЖДОЕ время, когда оно будет использоваться, правильно? (и я понимаю, что это также должно быть сделано в try/catch/finally.)
Вы можете использовать метод is.Close() в android в методе finally. Это должно избегать утечки. – Prem
Как я проголосовал за вопрос в конкретном сценарии, чтобы лучше понять, как это работает? – eimmer