System 클래스 사용
Flash Player 9 이상, Adobe AIR 1.0 이상
System 클래스에는 사용자의 운영 체제와 상호 작용하고 런타임의 현재 메모리 사용 현황을 검색하는 데 사용되는 메서드와 속성이 포함되어 있습니다. System 클래스의 메서드와 속성을 사용하는 경우에도 imeComposition 이벤트를 수신하거나, 사용자의 현재 코드 페이지를 사용하여 외부 텍스트 파일을 로드하거나 이러한 파일을 유니코드로 로드하도록 런타임에 명령하거나, 사용자 클립보드의 내용을 설정할 수 있습니다.
런타임에 사용자의 시스템에 대한 데이터 가져오기
System.totalMemory 속성을 확인하면 런타임에서 현재 사용 중인 메모리 양(바이트 단위)을 알 수 있습니다. 이 속성을 사용하면 메모리 사용 현황을 모니터링하고 메모리 레벨 변경 방식에 따라 응용 프로그램을 최적화할 수 있습니다. 예를 들어 특정 시각 효과로 인해 메모리 사용량이 크게 증가하는 경우 이 효과를 수정하거나 모두 제거할 수 있습니다.
System.ime 속성은 현재 설치되어 있는 IME(Input Method Editor)에 대한 참조입니다. 이 속성을 사용하면 addEventListener() 메서드를 사용하여 imeComposition 이벤트(flash.events.IMEEvent.IME_COMPOSITION)를 수신할 수 있습니다.
System 클래스의 세 번째 속성은 useCodePage입니다. useCodePage를 true로 설정하면 런타임은 운영 체제의 기존 코드 페이지를 사용하여 외부 텍스트 파일을 로드합니다. 이 속성을 false로 설정하면 런타임에 외부 파일을 유니코드로 해석하도록 지시합니다.
System.useCodePage를 true로 설정하는 경우 운영 체제의 기존 코드 페이지에 외부 텍스트 파일에 사용된 문자가 포함되어 있어야 텍스트를 표시할 수 있습니다. 예를 들어 중국어 문자가 포함된 외부 텍스트 파일을 로드하는 경우 영문 Windows 코드 페이지에는 중국어 문자가 없으므로 이 코드 페이지를 사용하는 시스템에는 중국어 문자가 표시되지 않습니다.
모든 플랫폼에서 사용자가 응용 프로그램에 사용된 외부 텍스트 파일을 볼 수 있도록 하려면 모든 외부 텍스트 파일을 유니코드로 인코딩하고 System.useCodePage를 기본값인 false로 설정해야 합니다. 이렇게 하면 런타임이 텍스트를 유니코드로 해석합니다.
클립보드에 텍스트 저장
System 클래스에는 Flash 런타임에서 지정된 문자열로 사용자 클립보드의 내용을 설정할 수 있는 setClipboard()라는 메서드가 포함되어 있습니다. Security.getClipboard() 메서드를 사용하면 악의적인 사이트에서 사용자의 클립보드에 마지막으로 복사된 데이터에 액세스할 수 있으므로 보안상의 이유로 이 메서드는 포함되지 않습니다.
다음 코드는 보안 오류가 발생하는 경우 오류 메시지가 사용자의 클립보드에 어떤 방식으로 복사될 수 있는지 보여 줍니다. 오류 메시지는 사용자가 응용 프로그램에 잠재적인 버그를 보고하려는 경우에 유용할 수 있습니다.
private function securityErrorHandler(event:SecurityErrorEvent):void
{
var errorString:String = "[" + event.type + "] " + event.text;
trace(errorString);
System.setClipboard(errorString);
}
Flash Player 10 및 AIR 1.0
Clipboard 클래스를 사용하여 사용자 이벤트에 대한 응답으로 클립보드 데이터를 읽고 쓸 수 있습니다. AIR에서는 사용자 이벤트가 없어도 응용 프로그램 샌드박스에서 실행 중인 코드가 클립보드에 액세스할 수 있습니다.