flash.sampler
public final class NewObjectSample
继承NewObjectSample Inheritance Sample Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9.0.115.0

NewObjectSample 类表示在 getSamples() 流中创建的对象。仅适用于 Flash Player 调试版。

查看示例

另请参见

flash.sampler.getSamples()
How the Flex profiler works


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  object : *
[只读 (read-only)] NewObjectSample 对象(如果仍存在)。
NewObjectSample
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
公共常量
 常量定义方
  id : Number
与 DeleteObjectSample 的标识号相匹配的唯一标识号。
NewObjectSample
 Inheritedstack : Array
包含 Flash Player 在指定时段执行的方法的相关信息。
Sample
 Inheritedtime : Number
定义 Sample 实例持续时间的微秒数。
Sample
  type : Class
与 getSamples() 流中创建的对象相对应的 Class 对象。
NewObjectSample
属性详细信息
object属性
object:*  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9.0.115.0

NewObjectSample 对象(如果仍存在)。如果已将该对象作为垃圾回收,则此属性是未定义的并存在对应的 DeleteObjectSample。仅适用于 Flash Player 调试版。



实现
    public function get object():*

另请参见

常量详细信息
id常量
public const id:Number

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9.0.115.0

与 DeleteObjectSample 的标识号相匹配的唯一标识号。仅适用于 Flash Player 调试版。

另请参见

type常量 
public const type:Class

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9.0.115.0

getSamples() 流中创建的对象相对应的 Class 对象。仅适用于 Flash Player 调试版。

示例 如何使用示例
SampleTypesExample.as

下面的示例使用 Sample 对象 sstacktime 属性来收集内存样本。该样本包含 NewObjectSample 对象(newSamples 数组)、DeleteObjectSample 对象(delSamples 数组)和 CPU 内存样本对象(cpuSamples 数组)。若要使用内存设置,需要安装 Flash Player 调试版 9.0.115.0 或更高版本。
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());
          }     
        }         
    }
}