직장에서이 코드를 발견하고 내 리드 개발자가 "메모리 누수가 발생할 수 있습니다."라고 말했습니다. 큰 일이 아닌 것처럼 행동했습니다.열린 InputStream이 항상 누수를 생성합니까?
InputStream is = ...
GZIPInputStream zis = new GZIPInputStream(new BufferedInputStream(is));
someMethod(zis);
아니요 입력 스트림을 닫지 않습니다. 안드로이드에 있기 때문에 InputStream이 AutoCloseable을 구현하지 않는 Java 1.6입니다. 이 때마다 메모리 누수가 발생할 것입니다, 맞습니까? (그리고 나는 이것도 모두 try/catch/finally에서 수행해야 함을 깨닫는다.)
마침내 방법으로 안드로이드에서 is.Close() 메소드를 사용할 수 있습니다. 이렇게하면 누출이 없어야합니다. – Prem
특정 시나리오에서 질문을하기 위해 어떻게 투표를합니까? 어떻게 작동하는지 더 잘 이해할 수 있습니까? – eimmer