Library/Android in Cafe Java 썸네일형 리스트형 템플릿 메서드를 사용하여 자바의 리소스를 관리하라 자바가 등장한 초창기 무렵을 생각해 봤을 때, 자동 메모리 관리 기능은 메모리를 직접 관리해야 하는 고통에 시달리던 프로그래머들에게 구세주처럼 여겨졌다. 그러나, 자바가 점점 그 영역을 넓혀감에 따라, 자동 메모리 관리 기능은 좋기만 한 것이 아니라는 점 역시 드러나게 되었다. 파이널라이저(finalizer)의 실행 시점은 자바 VM 구현에 따라 천차만별이며, 가비지 컬렉터(garbage collector)가 실행될 때 모든 자바 스레드가 순간적으로 정지해야 한다는 점은 특정 영역에서 치명적인 단점이다. 특히, 예외 처리 및 일반화 프로그래밍과 맞물리면서, 안전하게 리소스를 관리하는 것은 쉽지 않은 일이 되었다. C++의 RAII(Resource Acquisition Is Initialization) 기.. 더보기 외부 저장 장치에 저장한 파일이 나타나지 않는다면 추가 SD 카드를 가지지 않는 안드로이드 폰을 사용할 때, 앱 개발 도중 외부 저장 공간에 파일을 저장했음에도 윈도우 탐색기에서 저장한 파일을 볼 수 없는 경우가 있다. 이것은 아직 고쳐지지 않은 안드로이드의 버그인데, 폰을 재부팅해야 최근에 저장한 파일을 볼 수 있다. 재부팅이 귀찮다면, 저장 장치에 대한 미디어 스캔을 수행하는 앱을 사용할 수도 있다. 안드로이드의 API는 내부, 외부 개념을 사용하여 저장 장치를 구별하지만, 사실 외부 저장 장치는 추가 SD 카드만을 의미하는 것이 아니다. 따라서, 추가 SD 카드를 지원하지 않는 안드로이드 폰을 사용한다면, getExternalStorageDirectory()의 결과는 폰에 따라 다르게 나타날 수 있다. 메모리 부족에 시달렸던 과거의 폰들과 달리, .. 더보기 이전 1 다음