2011-03-24 2 views
0

Android 플랫폼에서 합리적으로 복잡한 애플리케이션 (예 : 파일, 데이터베이스, 네트워크 연결과 같은 외부 리소스 액세스)을 개발하려면 가비지 수집을 처리해야합니까? 안드로이드가 항상 GC를 돌보도록해야합니까?Android에서 수동 가비지 수집이 필요합니까?

그래서 가비지 수집기가 안드로이드 프로그래머가 메모리를 비우는 모든 부담을 덜어 주나요?

그렇지 않다면 누구나 실용적인 예를 설명 할 수 있습니까?

답변

1

일반적으로 GC는 프로그래머가 많은 문제를 피할 수 있도록 도와 주지만 치료법이 아닙니다. 객체가 더 이상 필요하지 않은 경우 (예를 들어 null로 변수를 설정)

  • 삭제 참조하십시오 GC'ed 시스템을 사용하여 프로그래머로서, 당신은 할당 라이프 사이클 측면에서 걱정하는 두 가지 일이 없습니다. 그렇게하지 않으면 메모리 누수가 발생할 수 있습니다.

  • 열린 파일과 같은 비 메모리 리소스를 명시 적으로 관리합니다. 이러한 것들을 나타내는 객체는 일반적으로 객체가 GC로 처리 될 때 리소스를 확보하도록 준비하지만 프로그래머는 리소스가 실제로 불필요한 경우에 대해 더 잘 이해할 수 있습니다. 따라서 더 이상 필요하지 않은 GC를 오래도록 정리하는 대신 InputStream에서 close()를 명시 적으로 호출하는 것이 가장 좋습니다.

관련 문제