flash.sampler

# NewObjectSample - AS3

Package | flash.sampler
Class | public final class NewObjectSample
Inheritance | NewObjectSample Sample Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0

The NewObjectSample class represents objects that are created within a `getSamples()` stream. For Flash Player debugger version only.

View the examples

More examples

How the profiler works

Related API Elements

flash.sampler.getSamples()

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
|  | object : * [read-only] The NewObjectSample object if it still exists. | NewObjectSample
|  | size : Number [read-only] The NewObjectSample object size. | NewObjectSample

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | 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
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | 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

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | stack : Array Contains information about the methods executed by Flash Player over a specified period of time. | Sample
|  | time : Number The microseconds that define the duration of the Sample instance. | Sample
|  | type : Class The Class object corresponding to the object created within a getSamples() stream. | NewObjectSample

Property Detail

### object

property

`object:*` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0

The NewObjectSample object if it still exists. If the object has been garbage collected, this property is undefined and a corresponding DeleteObjectSample exists. For Flash Player debugger version only.

Implementation
`public function get object():*`

Related API Elements

flash.sampler.DeleteObjectSample

### size

property

`size:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0

The NewObjectSample object size. If the object has been garbage collected, this property is undefined and a corresponding DeleteObjectSample exists. For FlashPlayer debugger version only.

Implementation
`public function get size():Number`

Related API Elements

flash.sampler.DeleteObjectSample
Constant Detail

### type

Constant

`public const type:Class`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0

The Class object corresponding to the object created within a `getSamples()` stream. For Flash Player debugger version only.

Examples How to use this example
SampleTypesExample.as
The following example uses the `stack` and `time` properties of a Sample object `s` to collect memory samples. The samples contain NewObjectSample objects (the `newSamples` array), DeleteObjectSample objects (the `delSamples` array), and CPU memory sample objects (the `cpuSamples` array). To use the memory profiler, you need to have Flash Player debugger version 9.0.115.0 or later installed.
Copy

    package
    {
        import flash.sampler.*
        import flash.system.*
        import flash.utils.*
        import flash.display.Sprite
        public class sampleTypes extends Sprite
        {
          var b:Boolean = true
            public function sampleTypes() {
                flash.sampler.startSampling();
                for(var i:int=0;i<10000;i++)
                  new Object();

                var cpuSamples:Array=[];
                var newSamples:Array=[];
                var delSamples:Array=[];
                var ids:Array=[]

                var lastTime:Number=0;
                for each(var s:Sample in getSamples()) {

                  assert(s.time > 0); // positive
                  assert(Math.floor(s.time) == s.time, s.time); // integral
                  assert(s.time >= lastTime, s.time + ":" + lastTime); // ascending
                  assert(s.stack == null || s.stack is Array)
                  if(s.stack) {
                    assert(s.stack[0] is StackFrame);
                    assert(s.stack[0].name is String);
                }

                  if(s is NewObjectSample) {
                    var nos = NewObjectSample(s);
                    assert(s.id > 0, s.id);
                    assert(s.type is Class, getQualifiedClassName(s.type));
                    newSamples.push(s);
                    ids[s.id] = "got one";
                  } else if(s is DeleteObjectSample) {
                    var dos = DeleteObjectSample(s);
                    delSamples.push(s);
                    assert(ids[dos.id] == "got one");
                  } else if(s is Sample)
                    cpuSamples.push(s);
                  else {
                    assert(false);
                  }
                  lastTime = s.time;
                }

                trace(b)
                trace(newSamples.length > 0)
                trace(cpuSamples.length > 0)
                trace(delSamples.length > 0)

            }

            private function assert(e:Boolean, mess:String=null):void {
              b = e && b;
              if(true && !e) {
                if(mess) trace(mess);
                trace(new Error().getStackTrace());
              }
            }
        }
    }

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