flash.system

# System - AS3

Package | flash.system
Class | public final class System
Inheritance | System Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The System class contains properties related to local settings and operations. Among these are settings for camers and microphones, operations with shared objects and the use of the Clipboard.

Additional properties and methods are in other classes within the flash.system package: the Capabilities class, the IME class, and the Security class.

This class contains only static methods and properties. You cannot create new instances of the System class.

View the examples

More examples

Using the System class

Related API Elements

flash.system.Security
flash.events.IMEEvent

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | freeMemory : Number [static] [read-only] The amount of memory (in bytes) that is allocated to Adobe® Flash® Player or Adobe® AIR® and that is not in use. | System
|  | ime : IME [static] [read-only] The currently installed system IME. | System
|  | privateMemory : Number [static] [read-only] The entire amount of memory (in bytes) used by an application. | System
|  | totalMemory : uint [static] [read-only] The amount of memory (in bytes) currently in use that has been directly allocated by Flash Player or AIR. | System
|  | totalMemoryNumber : Number [static] [read-only] The amount of memory (in bytes) currently in use that has been directly allocated by Flash Player or AIR. | System
|  | useCodePage : Boolean [static] A Boolean value that determines which code page to use to interpret external text files. | System

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | disposeXML(node:XML):void [static] Makes the specified XML object immediately available for garbage collection. | System
|  | exit(code:uint):void [static] Closes Flash Player. | System
|  | gc():void [static] Forces the garbage collection process. | System
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | pause():void [static] Pauses Flash Player or the AIR Debug Launcher (ADL). | System
|  | pauseForGCIfCollectionImminent(imminence:Number = 0.75):void [static] Advise the garbage collector that if the collector's imminence exceeds the function's imminence parameter then the collector should finish the incremental collection cycle. | System
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | resume():void [static] Resumes the application after calling System.pause(). | System
|  | setClipboard(string:String):void [static] Replaces the contents of the Clipboard with a specified text string. | System
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### freeMemory

property

`freeMemory:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

The amount of memory (in bytes) that is allocated to Adobe® Flash® Player or Adobe® AIR® and that is not in use. This unused portion of allocated memory (`System.totalMemory`) fluctuates as garbage collection takes place. Use this property to monitor garbage collection.

Implementation
`public static function get freeMemory():Number`

Related API Elements

privateMemory
totalMemory
totalMemoryNumber

### ime

property

`ime:IME` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The currently installed system IME. To register for imeComposition events, call `addEventListener()` on this instance.

Implementation
`public static function get ime():IME`

More examples

Using the System class

Related API Elements

IMEConversionMode

### privateMemory

property

`privateMemory:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

The entire amount of memory (in bytes) used by an application. This is the amount of resident private memory for the entire process.

AIR developers should use this property to determine the entire memory consumption of an application.

For Flash Player, this includes the memory used by the container application, such as the web browser.

Implementation
`public static function get privateMemory():Number`

Related API Elements

freeMemory
totalMemory
totalMemoryNumber

### totalMemory

property

`totalMemory:uint` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The amount of memory (in bytes) currently in use that has been directly allocated by Flash Player or AIR.

This property does not return all memory used by an Adobe AIR application or by the application (such as a browser) containing Flash Player content. The browser or operating system may consume other memory. The `System.privateMemory` property reflects all memory used by an application.

If the amount of memory allocated is greater than the maximum value for a uint object (`uint.MAX_VALUE`, or 4,294,967,295), then this property is set to 0. The `System.totalMemoryNumber` property allows larger values.

Implementation
`public static function get totalMemory():uint`

More examples

Using the System class

Related API Elements

freeMemory
privateMemory
totalMemoryNumber

### totalMemoryNumber

property

`totalMemoryNumber:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

The amount of memory (in bytes) currently in use that has been directly allocated by Flash Player or AIR.

This property is expressed as a Number, which allows higher values than the `System.totalMemory` property, which is of type int.

This property does not return all memory used by an Adobe AIR application or by the application (such as a browser) containing Flash Player content. The browser or operating system may consume other memory. The `System.privateMemory` property reflects all memory used by an application.

Implementation
`public static function get totalMemoryNumber():Number`

Related API Elements

freeMemory
privateMemory
totalMemory

### useCodePage

property

`useCodePage:Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

A Boolean value that determines which code page to use to interpret external text files. When the property is set to `false`, external text files are interpretted as Unicode. (These files must be encoded as Unicode when you save them.) When the property is set to `true`, external text files are interpretted using the traditional code page of the operating system running the application. The default value of `useCodePage` is `false`.

Text that you load as an external file (using `Loader.load()`, the URLLoader class or URLStream) must have been saved as Unicode in order for the application to recognize it as Unicode. To encode external files as Unicode, save the files in an application that supports Unicode, such as Notepad on Windows.

If you load external text files that are not Unicode-encoded, set `useCodePage` to `true`. Add the following as the first line of code of the file that is loading the data (for Flash Professional, add it to the first frame):

    System.useCodePage = true;

When this code is present, the application interprets external text using the traditional code page of the operating system. For example, this is generally CP1252 for an English Windows operating system and Shift-JIS for a Japanese operating system.

If you set `useCodePage` to `true`, Flash Player 6 and later treat text as Flash Player 5 does. (Flash Player 5 treated all text as if it were in the traditional code page of the operating system running the player.)

If you set `useCodePage` to `true`, remember that the traditional code page of the operating system running the application must include the characters used in your external text file in order to display your text. For example, if you load an external text file that contains Chinese characters, those characters cannot display on a system that uses the CP1252 code page because that code page does not include Chinese characters.

To ensure that users on all platforms can view external text files used in your application, you should encode all external text files as Unicode and leave `useCodePage` set to `false`. This way, the application (Flash Player 6 and later, or AIR) interprets the text as Unicode.

Implementation
`public static function get useCodePage():Boolean`
`public static function set useCodePage(value:Boolean):void`

More examples

Using the System class

Related API Elements

flash.display.Loader.load()
Method Detail

### disposeXML

()
method

`public static function disposeXML(node:XML):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 1.5.2

Makes the specified XML object immediately available for garbage collection. This method will remove parent and child connections between all the nodes for the specified XML node.

Parameters

| `node:XML` — XML reference that should be made available for garbage collection.

### exit

()
method

`public static function exit(code:uint):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0

Closes Flash Player.

For the standalone Flash Player debugger version only.

AIR applications should call the `NativeApplication.exit()` method to exit the application.

Parameters

| `code:uint` — A value to pass to the operating system. Typically, if the process exits normally, the value is 0.

Related API Elements

flash.desktop.NativeApplication.exit()

### gc

()
method

`public static function gc():void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Forces the garbage collection process.

For the Flash Player debugger version and AIR applications only. In an AIR application, the `System.gc()` method is only enabled in content running in the AIR Debug Launcher (ADL) or, in an installed applcation, in content in the application security sandbox.

### pause

()
method

`public static function pause():void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Pauses Flash Player or the AIR Debug Launcher (ADL). After calling this method, nothing in the application continues except the delivery of Socket events.

For the Flash Player debugger version or the AIR Debug Launcher (ADL) only.

Related API Elements

resume()

### pauseForGCIfCollectionImminent

()
method

`public static function pauseForGCIfCollectionImminent(imminence:Number = 0.75):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3

Advise the garbage collector that if the collector's imminence exceeds the function's imminence parameter then the collector should finish the incremental collection cycle.

The Flash Runtime garbage collector algorithm runs incrementally while marking memory in use. It pauses application execution when collecting unused portions of memory. The pause that occurs as the incremental collection cycle finishes can be longer than desired and can be observable or audible in some programs. This function allows the application to advise the runtime that it is a good time to both complete the marking and perform collection. Scheduling potential pauses for times when the user won't notice them makes for a better user experience. For example, a game might call this function upon the completion of a level in a game, thus reducing the chances of a pause occurring during gameplay.

Imminence is defined as how far through marking the collector believes it is, and therefore how close it is to triggering a collection pause. The imminence argument to this function is a threshold: the garbage collector will be invoked only if the actual imminence exceeds the threshold value. Otherwise, this call returns immediately without taking action.

By calling this function with a low imminence value, the application indicates that it is willing to accept that a relatively large amount of marking must be completed. A high imminence value, on the other hand, indicates that the application should be paused only if marking is nearly complete. Typically, pauses are longer in the former case than in the latter.

The amount of memory being freed does not depend on the imminence parameter. It only depends on the number of freeable objects. If the application has recently released references to large data structures or to a large number of objects, a low imminence parameter will tend to trigger a collection that will free those objects immediately.

Parameters

| `imminence:Number` (default = `0.75`)`` — A number between 0 and 1, where 0 means less imminent and 1 means most imminent. Values less than 0 default to 0.25. Values greater than 1.0 default to 1.0. NaN defaults to 0.75

### resume

()
method

`public static function resume():void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Resumes the application after calling `System.pause()`.

For the Flash Player debugger version or the AIR Debug Launcher (ADL) only.

Related API Elements

pause()

### setClipboard

()
method

`public static function setClipboard(string:String):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9

Replaces the contents of the Clipboard with a specified text string. This method works from any security context when called as a result of a user event (such as a keyboard or input device event handler).

This method is provided for SWF content running in Flash Player 9. It allows only adding String content to the Clipboard.

Flash Player 10 content and content in the application security sandbox in an AIR application can call the `Clipboard.setData()` method.

Parameters

| `string:String` — A plain-text string of characters to put on the system Clipboard, replacing its current contents (if any).

More examples

Using the System class

Related API Elements

flash.desktop.Clipboard
Examples How to use this example
SystemExample.as
The following example shows how to copy information about your system's total memory to the system Clipboard using a call to `System.totalMemory` within a call to the `System.setClipboard()` method.
Copy

    package {
        import flash.display.Sprite;
        import flash.system.System;

        public class SystemExample extends Sprite {
            public function SystemExample() {
                System.setClipboard("System.totalMemory: " + System.totalMemory);
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00