【发布时间】:2013-12-14 04:22:07
【问题描述】:
在工作中发现了这段代码,我的首席开发人员说:“它可能会导致内存泄漏。”并且表现得好像没什么大不了的。
InputStream is = ...
GZIPInputStream zis = new GZIPInputStream(new BufferedInputStream(is));
someMethod(zis);
不关闭输入流。这是在 Android 中,所以它的 Java 1.6 中 InputStream 没有实现 AutoCloseable。每次使用都会导致内存泄漏,对吗? (我意识到这也应该在 try/catch/finally 中完成。)
【问题讨论】:
-
你可以在 finally 方法中使用 android 中的 is.Close() 方法。这应该避免泄漏。
-
我如何在特定场景中提出问题而被否决,以便更好地了解它的工作原理?
标签: java android inputstream java-6