ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.system 

System  - AS3

Packageflash.system
Classpublic final class System
InheritanceSystem Inheritance 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

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedconstructor : 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
 MethodDefined By
  
[static] Makes the specified XML object immediately available for garbage collection.
System
  
exit(code:uint):void
[static] Closes Flash Player.
System
  
[static] Forces the garbage collection process.
System
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
  
[static] Pauses Flash Player or the AIR Debug Launcher (ADL).
System
  
[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
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
  
[static] Resumes the application after calling System.pause().
System
  
[static] Replaces the contents of the Clipboard with a specified text string.
System
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
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

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

Related API Elements

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

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

Related API Elements

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

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

Related API Elements

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

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

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

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

Related API Elements

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.
package {
    import flash.display.Sprite;
    import flash.system.System;

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