MediaTracker — 미디어 로딩 상태 추적기

MediaTracker — 미디어 로딩 상태 추적기

MediaTracker는 여러 미디어 객체의 상태를 추적하는 유틸리티 클래스예요. 미디어 객체에는 오디오 클립과 이미지가 포함될 수 있지만, 현재는 이미지만 지원해요.

출처: Java API Reference

본문

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를 갱신하는 패턴으로 써요.

더 알아보기