Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: Recuperando datos del servidor...
Recuperando datos del servidor...
 

Paquete flash.sampler 


Este paquete lo utiliza el agente creador de perfiles distribuido con Adobe Flash Builder y se proporciona para su uso, personalizando el agente creador de perfiles o generando sus propias pruebas de memoria. Utilice el método startSampling() y la versión 9.0.115.0 o posterior del depurador de Flash Player, para tomar muestras del uso de la memoria. A continuación, use el método getSamples() para recuperar las muestras del uso de la memoria. Las muestras revelan el uso de la memoria de distintos intervalos de una aplicación en ejecución. A continuación, utilice los demás métodos del paquete flash.sampler para analizar la información del uso de la memoria.

Nota: si crea su propio agente de perfiles personalizados, cargue previamente el archivo SWF del agente definiendo la propiedad PreloadSwfmm.cfg del archivo

PreloadSwf=C:/Documents and Settings/username/testingagent.swf?aparam=asetting

Cada archivo SWF de agente precargado cuenta con su propio dominio de seguridad y se ejecuta en un entorno limitado de seguridad distinto al del archivo SWF principal del que se hace el perfil. Para ejecutar los métodos del paquete flash.sampler, el archivo SWF agente debe estar en una ruta de archivo localTrusted (consulte el Centro de seguridad).

Métodos públicos
 FunciónDefinido por
  
Borra el conjunto activo de objetos Sample.
flash.sampler
  
Devuelve el número de veces que se ha ejecutado una función get.
flash.sampler
  
Devuelve el número de veces que se ha ejecutado un método.
flash.sampler
  
Expone el ámbito léxico de una función para que los objetos del ámbito capturados (incluidos los objetos activation y los ámbitos with) se vean en el analizador como conservados por la instancia de Function.
flash.sampler
  
Devuelve la cadena maestra de la que depende esta cadena, o null si la cadena no depende de otra cadena.
flash.sampler
  
getMemberNames(o:Object, instanceNames:Boolean = false):Object
Devuelve un objeto con todos los miembros del objeto especificado, incluidos los miembros privados.
flash.sampler
  
Devuelve el número de muestras recopiladas.
flash.sampler
  
Devuelve un objeto de instancias Sample de uso de memoria de la última sesión de muestreo.
flash.sampler
  
Devuelve el "this" guardado desde un cierre del método que normalmente no puede ver desde AS.
flash.sampler
  
Devuelve el número de veces que se ha ejecutado una función set.
flash.sampler
  
Devuelve el tamaño en memoria de un objeto especificado si se utiliza la versión del depurador de Flash Player 9.0.115.0 o una versión posterior.
flash.sampler
  
Comprueba si existe una propiedad definida por una función get/set.
flash.sampler
  
Detiene momentáneamente el proceso de muestreo.
flash.sampler
  
Indica al muestreador si debe crear un objeto NewObjectSamples para asignaciones internas desde Flash Player.
flash.sampler
  
Define una función callback para la muestra: esta función se llamará cuando el flujo de la muestra casi se haya agotado.
flash.sampler
  
Inicia el proceso de recolección de objetos Sample de uso de memoria.
flash.sampler
  
Finaliza el proceso de recopilación de objetos Sample de uso de memoria y libera los recursos dedicados al proceso de muestreo.
flash.sampler
Información sobre funciones

clearSamples

()función
public function clearSamples():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Borra el conjunto activo de objetos Sample. Se suele llamar a este método tras haber llamado a getSamples() y haber iterado sobre los objetos Sample. Sólo para la versión del depurador de Flash Player.

Elementos de API relacionados

getGetterInvocationCount

()función 
public function getGetterInvocationCount(obj:Object, qname:QName):Number

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve el número de veces que se ha ejecutado una función get. Utilice isGetterSetter() para comprobar que dispone de una función get/set antes de utilizar getGetterInvocationCount(). Sólo para la versión del depurador de Flash Player.

Parámetros

obj:Object — Instancia de método o clase.
 
qname:QName — Si qname es undefined, devuelve el número de iteraciones de la función del constructor.

Valor devuelto
Number — Número de veces que se ha ejecutado un método get.

Elementos de API relacionados

getInvocationCount

()función 
public function getInvocationCount(obj:Object, qname:QName):Number

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve el número de veces que se ha ejecutado un método. Si el parámetro obj es un objeto Class y el parámetro qname es undefined, este método devuelve el número de iteraciones de la función del constructor. Sólo para la versión del depurador de Flash Player.

Parámetros

obj:Object — Instancia de método o clase. Si no hay disponible ninguna instancia del método, se puede utilizar una clase para obtener el recuento de invocaciones de las funciones de la instancia. Si obj es undefined, este método devuelve el recuento de la función del paquete nombrada por qname.
 
qname:QName — Si qname es undefined, devuelve el número de iteraciones de la función del constructor.

Valor devuelto
Number — Número de veces que se ha ejecutado un método.

Ejemplo  ( Cómo utilizar este ejemplo )

 package 
{
  public function exec3() {}

  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  import flash.utils.*;
  public class getInvocationCountTest extends Sprite
    {
      public function getInvocationCountTest()
    {
      for(var i:int=0;i<10;i++)
        exec();
      for(var i:int=0;i<10;i++)
        exec2();
      for(var i:int=0;i<10;i++)
        exec3();

      // get exec QName
      var execName:QName;
          var name:QName;
      var fooName:QName;
      for each(name in getMemberNames(this)) {
          if(name.localName == "exec")
          execName = name;
          if(name.localName == "foo")
          fooName = name;
      }

      var exec2Name:QName;
      for each(name in getMemberNames(getInvocationCountTest)) {
          if(name.localName == "exec2")
          exec2Name = name;
      }

      // execute get/set
      foo = "bar";

      trace(isGetterSetter(this, fooName));
      trace(getSetterInvocationCount(this, fooName) == 1);
      trace(getGetterInvocationCount(this, fooName) == 0);

      foo;
      
      trace(getSetterInvocationCount(getInvocationCountTest, fooName) == 1);
      trace(getGetterInvocationCount(getInvocationCountTest, fooName) == 1);

      trace(getInvocationCount(this, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, exec2Name) == 10);
      trace(getInvocationCount(getInvocationCountTest, undefined) == 1);
    
      getTimer();
      getTimer();

      trace(getInvocationCount(undefined, new QName("", "trace")) == 9);
      trace(getInvocationCount(undefined, new QName("flash.utils", "getTimer")) == 2);
      trace(getInvocationCount(undefined, new QName("", "exec3")) == 10);

    }

      private function exec():void {}
      private static function exec2():void {}

      private function get foo():String { return "fo"; }
      private function set foo(s:String) { }
      
    }
}

getLexicalScopes

()función 
public function getLexicalScopes(obj:Function):Array

Expone el ámbito léxico de una función para que los objetos del ámbito capturados (incluidos los objetos activation y los ámbitos with) se vean en el analizador como conservados por la instancia de Function.

Parámetros

obj:Function — Una función

Valor devuelto
Array — Un conjunto con todos los elementos del ámbito léxico

getMasterString

()función 
public function getMasterString(str:String):String

Versión del lenguaje: ActionScript 3.0

Devuelve la cadena maestra de la que depende esta cadena, o null si la cadena no depende de otra cadena. Por ejemplo, si llama a String.substr(), la cadena devuelta a menudo se implementan sólo como un puntero de la cadena original para obtener un resultado más eficaz. En uso normal, éste es un detalle de implementación que no es visible para el usuario; sin embargo, puede resultar confuso cuando se utiliza un visor para analizar el consumo de memoria del programa, ya que puede parecer que la cadena consume menos memoria de la que se necesitaría para el valor de la cadena. Además, una cadena se puede conservar en la memoria únicamente por ser la cadena maestra para otras cadenas. getMasterString() permite a los analizadores mostrar al usuario un gráfico preciso con las dependencias de las cadenas.

Parámetros

str:String — Una cadena

Valor devuelto
String — La cadena de la que depende la cadena transferida, o null si la cadena transferida no depende de otra cadena

getMemberNames

()función 
public function getMemberNames(o:Object, instanceNames:Boolean = false):Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve un objeto con todos los miembros del objeto especificado, incluidos los miembros privados. Seguidamente, puede iterar sobre el objeto devuelto para ver todos los valores. Este método es similar al método flash.utils.describeType(), sólo que también permite ver los miembros privados y omite el paso intermedio de tener que crear un objeto XML. Sólo para la versión del depurador de Flash Player.

Parámetros

o:Object — Objeto que se va a analizar.
 
instanceNames:Boolean (default = false) — Si el objeto es de tipo Class e instanceNames es true, se informa sobre los nombres de las instancias como si se tratara de instancias de nombres de miembros de la clase.

Valor devuelto
Object — Objeto que debe iterarse con un bucle for each..in para recuperar los objetos QNames de cada propiedad.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el siguiente ejemplo se utiliza el método getMemberNames() para analizar un objeto y mostrar las propiedades buttonMode, filters y dispatchEvent de sus miembros. Para utilizar el visor de memoria, debe tener instalada la versión del depurador Flash Player 9.0.115.0 o una versión posterior.
 package 
{
  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  public class getMemberNamesTest extends Sprite
    {
      public function getMemberNamesTest()
    {
      var name_iter = getMemberNames(this);
      var o={};
      for each(var name:QName in name_iter) {
        o[name.localName] = "got it";
      }

      name_iter = getMemberNames(this);
      var count=0;
      for(var dum in name_iter) {
        count++;
      }
      trace(count == 1);

      // my member
      trace("buttonMode" in o);
      // inherited member
      trace("filters" in o);
      // inherited function
      trace("dispatchEvent" in o);

      var name_iter = getMemberNames(getMemberNamesTest, true);
      var o={};
      for each(var name:QName in name_iter) {
        o[name.localName] = "got it";
      }

      // my member
      trace("buttonMode" in o);
      // inherited member
      trace("filters" in o);
      // inherited function
      trace("dispatchEvent" in o);

    }
    }
}

getSampleCount

()función 
public function getSampleCount():Number

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve el número de muestras recopiladas. Sólo para la versión del depurador de Flash Player.

Valor devuelto
Number — Iterador de instancias de Sample.

Elementos de API relacionados

getSamples

()función 
public function getSamples():Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve un objeto de instancias Sample de uso de memoria de la última sesión de muestreo. Sólo para la versión del depurador de Flash Player.

Valor devuelto
Object — Iterador de instancias de Sample.

Elementos de API relacionados

getSavedThis

()función 
public function getSavedThis(obj:Function):Object

Devuelve el "this" guardado desde un cierre del método que normalmente no puede ver desde AS.

Parámetros

obj:Function — Una instancia de MethodClosure

Valor devuelto
Object — Un objeto que es el "this" de MethodClosure

getSetterInvocationCount

()función 
public function getSetterInvocationCount(obj:Object, qname:QName):Number

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve el número de veces que se ha ejecutado una función set. Utilice isGetterSetter() para comprobar que dispone de una función get/set antes de utilizar getSetterInvocationCount(). Sólo para la versión del depurador de Flash Player.

Parámetros

obj:Object — Instancia de método o clase.
 
qname:QName — Si qname es undefined, devuelve el número de iteraciones de la función del constructor.

Valor devuelto
Number — Número de veces que se ha ejecutado un método set.

Elementos de API relacionados

getSize

()función 
public function getSize(o:*):Number

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Devuelve el tamaño en memoria de un objeto especificado si se utiliza la versión del depurador de Flash Player 9.0.115.0 o una versión posterior. Si no se utiliza una versión del depurador de Flash Player, este método devuelve 0.

Parámetros

o:* — Objeto con que se va a analizar el uso de memoria.

Valor devuelto
Number — Recuento de bytes de memoria utilizada por el objeto especificado.

Ejemplo  ( Cómo utilizar este ejemplo )

En el siguiente ejemplo se utilizan los métodos startSampling() y pauseSampling para recopilar objetos Sample. Posteriormente, el ejemplo itera sobre los objetos Sample para los valores y tamaños de id. Tras llamar a System.gc() para detener el proceso activo, el ejemplo compara los objetos deletedObjectSample con los valores de id originales y muestra su tamaños. Para el utilizar el visor de memoria, debe tener instalada la versión 9.0.115.0 o posterior del depurador de Flash Player.
 package {
  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  import flash.utils.Dictionary;
  public class deletedObjectSize extends Sprite {
    public function deletedObjectSize() {

      startSampling();
      var obj = {};
      pauseSampling();

      var id:Number;
      var sampleIter = getSamples();
      for each(var s:Sample in sampleIter) {
    id = s.id;
      }
      
      sampleIter = getSamples();
      var count=0;
      for(var dum in sampleIter) {
    count++;
      }
      trace(count == 1);

      var size:Number = getSize(obj);
      obj = undefined;

      startSampling();

      // force DRC
      for(var i:int=0;i<1000;i++)
    new Object();
      
      System.gc();

      pauseSampling();
      
      var sampleIter = getSamples();
      for each(var s:Sample in sampleIter) {
    //    trace(s);
    if(s is DeleteObjectSample && s.id == id) {
      trace(s.size == size);
    }      
      }       

    }
  }
}

isGetterSetter

()función 
public function isGetterSetter(obj:Object, qname:QName):Boolean

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Comprueba si existe una propiedad definida por una función get/set. Si quiere utilizar getInvocationCount() en una función get/set para una propiedad, primero llame a isGetterSetter() para verificar si es una función get/set; seguidamente, utilice getSetterInvocationCount o getGetterInvocationCount para obtener los recuentos correspondientes. Sólo para la versión del depurador de Flash Player.

Parámetros

obj:Object — Instancia de método o clase.
 
qname:QName — Si qname es undefined, devuelve el número de iteraciones de la función del constructor.

Valor devuelto
Boolean — Valor booleano que indica que la propiedad está definida por una función get/set (true) o no (false).

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

 package 
{
  public function exec3() {}

  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  import flash.utils.*;
  public class getInvocationCountTest extends Sprite
    {
      public function getInvocationCountTest()
    {
      for(var i:int=0;i<10;i++)
        exec();
      for(var i:int=0;i<10;i++)
        exec2();
      for(var i:int=0;i<10;i++)
        exec3();

      // get exec QName
      var execName:QName;
          var name:QName;
      var fooName:QName;
      for each(name in getMemberNames(this)) {
          if(name.localName == "exec")
          execName = name;
          if(name.localName == "foo")
          fooName = name;
      }

      var exec2Name:QName;
      for each(name in getMemberNames(getInvocationCountTest)) {
          if(name.localName == "exec2")
          exec2Name = name;
      }

      // execute get/set
      foo = "bar";

      trace(isGetterSetter(this, fooName));
      trace(getSetterInvocationCount(this, fooName) == 1);
      trace(getGetterInvocationCount(this, fooName) == 0);

      foo;
      
      trace(getSetterInvocationCount(getInvocationCountTest, fooName) == 1);
      trace(getGetterInvocationCount(getInvocationCountTest, fooName) == 1);

      trace(getInvocationCount(this, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, exec2Name) == 10);
      trace(getInvocationCount(getInvocationCountTest, undefined) == 1);
    
      getTimer();
      getTimer();

      trace(getInvocationCount(undefined, new QName("", "trace")) == 9);
      trace(getInvocationCount(undefined, new QName("flash.utils", "getTimer")) == 2);
      trace(getInvocationCount(undefined, new QName("", "exec3")) == 10);

    }

      private function exec():void {}
      private static function exec2():void {}

      private function get foo():String { return "fo"; }
      private function set foo(s:String) { }
      
    }
}

pauseSampling

()función 
public function pauseSampling():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Detiene momentáneamente el proceso de muestreo. Reinicia el proceso de muestreo utilizando startSampling(). Sólo para la versión del depurador de Flash Player.

Elementos de API relacionados

sampleInternalAllocs

()función 
public function sampleInternalAllocs(b:Boolean):void

Versión del lenguaje: ActionScript 3.0

Indica al muestreador si debe crear un objeto NewObjectSamples para asignaciones internas desde Flash Player. Si se establece en true, todas las asignaciones generarán un objeto NewObjectSample. Estas asignaciones internas no tendrán ningún tipo ni referencia al objeto. Contendrán el seguimiento de la pila de ActionScript que ha activado la asignación. El valor predeterminado es false y sólo recopila asignaciones para objetos de ActionScript.

Parámetros

b:Boolean

setSamplerCallback

()función 
public function setSamplerCallback(f:Function):void

Versión del lenguaje: ActionScript 3.0

Define una función callback para la muestra: esta función se llamará cuando el flujo de la muestra casi se haya agotado. Esto se debe utilizar para procesar muestras antes de que se llene el búfer de las muestras. Se llamará a pauseSampling antes de que se llame a la función callback y se llamará a startSampling después de haber ejecutado la función callback.

Parámetros

f:Function

startSampling

()función 
public function startSampling():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Inicia el proceso de recolección de objetos Sample de uso de memoria. Sólo para la versión del depurador de Flash Player.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )

En el siguiente ejemplo se inicia el proceso de muestreo y se itera sobre los objetos recopilados. Para el utilizar el visor de memoria, debe tener instalada la versión 9.0.115.0 o posterior del depurador de Flash Player.
package 
{
    import flash.sampler.*
    import flash.system.*
    import flash.display.Sprite
    public class startSampling extends Sprite
    {
        public function startSampling()
        {
            flash.sampler.startSampling();
            for(var i:int=0;i<1000;i++)
                new Object()
            trace(getSampleCount() > 0)
        }
    }
}

stopSampling

()función 
public function stopSampling():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9.0.115.0

Finaliza el proceso de recopilación de objetos Sample de uso de memoria y libera los recursos dedicados al proceso de muestreo. Para iniciar el proceso de muestreo, utilice startSampling(). Sólo para la versión del depurador de Flash Player.

Elementos de API relacionados

[ X ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.