在工作中发现了这段代码,我的开发人员说:“这可能会导致内存泄漏。”并且表现得没有什么大不了的。打开的InputStream是否总会产生泄漏?
InputStream is = ...
GZIPInputStream zis = new GZIPInputStream(new BufferedInputStream(is));
someMethod(zis);
不关闭输入流。这是在Android中,所以它的Java 1.6在InputStream中没有实现AutoCloseable。这将导致内存泄漏每次使用它,正确? (并且我意识到这也应该全部在try/catch/finally中完成)。
您可以在android中的finally方法中使用is.Close()方法。这应该避免泄漏。 – Prem
我如何在特定场景中提出问题而被拒绝,以便更好地理解它的工作原理? – eimmer