Adobe® AIR® API Reference for HTML Developers
Home  |  Show Classes List |  Index  |  Appendixes

Language Reference only       
System 
window.runtime propertywindow.runtime.flash.system.System
InheritanceSystem Inheritance Object

Runtime Versions: AIR 1.0,

The System class contains properties related to local settings and operations. Among these are the use of the Clipboard.

Additional properties and methods are in other classes within the flash.system package: the Capabilities 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

See also



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
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  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
  
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
 Inherited
hasOwnProperty(name:String):Boolean
Indicates whether an object has a specified property defined.
Object
 Inherited
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
 Inherited
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
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
toLocaleString():String
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
toString():String
Returns the string representation of the specified object.
Object
 Inherited
valueOf():Object
Returns the primitive value of the specified object.
Object
Property Detail

freeMemory

property
freeMemory:Number  [read-only]

Runtime Versions:  2

The amount of memory (in bytes) that is allocated to 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.

See also

ime

property 
ime:IME  [read-only]

Runtime Versions: AIR 1.0,

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

See also

privateMemory

property 
privateMemory:Number  [read-only]

Runtime Versions:  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.

See also

totalMemory

property 
totalMemory:uint  [read-only]

Runtime Versions: AIR 1.0,

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

This property does not return all memory used by an Adobe AIR application . The 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.

See also

totalMemoryNumber

property 
totalMemoryNumber:Number  [read-only]

Runtime Versions:  2

The amount of memory (in bytes) currently in use that has been directly allocated by 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 . The operating system may consume other memory. The System.privateMemory property reflects all memory used by an application.

See also

useCodePage

property 
useCodePage:Boolean

Runtime Versions: AIR 1.0,

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, 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 interprets the text as Unicode.

See also

Method Detail

disposeXML

()method
public function disposeXML(node:XML):void

Runtime Versions:  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 function exit(code:uint):void

Runtime Versions: AIR 1.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.

See also

gc

()method 
public function gc():void

Runtime Versions: AIR 1.0,

Forces the garbage collection process.

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 function pause():void

Runtime Versions: AIR 1.0,

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

See also

pauseForGCIfCollectionImminent

()method 
public function pauseForGCIfCollectionImminent(imminence:Number = 0.75):void

Runtime Versions:  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 function resume():void

Runtime Versions: AIR 1.0,

Resumes the application after calling System.pause().

See also

setClipboard

()method 
public function setClipboard(string:String):void

Runtime Versions: AIR 1.0,

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).

See also

Examples

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.

Note: To test this example:

  1. Add the AIRAliases.js file to the project directory.
  2. Create an application descriptor file for the project, and test the project using ADL.
<html>
    <head>
      <script src="AIRAliases.js" />
      <script>
        function init() {
            air.System.setClipboard("air.System.totalMemory: " + air.System.totalMemory);
        }
      </script>
    </head>
    <body onload='init()'>
    </body>
</html>