Использование класса System

Flash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий

Класс System содержит методы и свойства, позволяющие взаимодействовать с операционной системой пользователя и получать сведения о текущем использовании памяти среды выполнения. Кроме того, методы и свойства класса System позволяют прослушивать события imeComposition , давать команду среде выполнения на загрузку внешних текстовых файлов с использованием текущей кодовой страницы пользователя или кодировки Юникод и настройку содержимого буфера обмена пользователя.

Получение данных о системе пользователя во время выполнения

Проверив свойство System.totalMemory , можно определить объем памяти (в байтах), который в данный момент используется средой выполнения Это свойство позволяет отслеживать использование памяти и оптимизировать приложения на основе изменений уровня памяти. Например, если определенный видеоэффект вызывает значительное увеличение использования памяти, возможно, этот эффект требуется изменить или убрать совсем.

Свойство System.ime ссылается на текущий установленный редактор метода ввода (IME). Оно позволяет прослушивать события imeComposition ( flash.events.IMEEvent.IME_COMPOSITION ) с помощью метода addEventListener() .

Третьим свойством класса System является useCodePage . Если для свойства useCodePage установлено значение true , в среде выполнения для загрузки внешних текстовых файлов используется стандартная кодовая страница операционной системы. Если установить для этого свойства значение false , в среде выполнения внешний файл интерпретируется в кодировке Юникод.

Если для свойства System.useCodePage установлено значение true , помните, что стандартная кодовая страница операционной системы должна включать символы, используемые во внешнем текстовом файле, чтобы можно было отобразить данный текст. Например, если загружается внешний текстовый файл, содержащий китайские символы, эти символы нельзя отобразить в системе, где используется кодовая страница Windows для английского языка, поскольку она не содержит символов для китайского языка.

Чтобы обеспечить пользователям на всех платформах возможность просматривать внешние текстовые файлы, используемые в приложениях, необходимо сохранить все внешние файлы в кодировке «Юникод» и оставить для свойства System.useCodePage значение false . Таким образом, среда выполнения интерпретирует текст в кодировке Юникод.

Сохранение текста в буфере обмена

Класс System включает метод setClipboard() , позволяющий среде выполнения Flash заполнять буфер обмена пользователя определенной строкой. В целях безопасности метод 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 событие пользователя не является обязательным для того, чтобы код, выполняемый в изолированной программной среде приложения, мог получить доступ к буферу обмена.