MediaTracker — 미디어 로딩 상태 추적기
MediaTracker — 미디어 로딩 상태 추적기
MediaTracker는 여러 미디어 객체의 상태를 추적하는 유틸리티 클래스예요. 미디어 객체에는 오디오 클립과 이미지가 포함될 수 있지만, 현재는 이미지만 지원해요.
본문
public class MediaTracker extends Object implements Serializable
사용하려면 MediaTracker 인스턴스를 만들고, 추적할 각 이미지에 대해 addImage 메서드를 호출해요. 각 이미지에는 고유 식별자를 부여할 수 있는데, 이 식별자는 이미지를 가져오는 우선순위를 제어해요. ID가 낮은 이미지가 높은 ID보다 먼저 로드돼요.
MediaTracker tracker = new MediaTracker(component);
tracker.addImage(image, 0);
tracker.waitForID(0);
상태 플래그 상수
LOADING— 미디어가 현재 로딩 중임을 나타내는 플래그ABORTED— 미디어 다운로드가 중단되었음을 나타내는 플래그ERRORED— 미디어 다운로드에 오류가 발생했음을 나타내는 플래그COMPLETE— 미디어가 완전히 로딩되었음을 나타내는 플래그
주요 메서드
addImage(Image image, int id)— 추적할 이미지를 지정한 ID로 추가해요.waitForID(int id)— ID에 해당하는 이미지가 로딩될 때까지 기다려요.waitForAll()— 모든 이미지가 로딩될 때까지 기다려요.statusID(int id, boolean load)— 지정한 ID의 상태를 반환해요.statusAll(boolean load)— 모든 이미지의 상태를 반환해요.
애니메이션 이미지는 첫 프레임이 완전히 로드되면 완전히 로드된 것으로 취급돼요. 이미지를 로딩하는 동안 waitForID 같은 메서드로 상태를 기다리거나 주기적으로 statusID로 폴링해서 UI를 갱신하는 패턴으로 써요.