在工作中發現了這段代碼,我的開發人員說:「這可能會導致內存泄漏。」並且表現得沒有什麼大不了的。打開的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