Referência do ActionScript® 3.0 para Adobe® Flash® Platform
Início  |  Ocultar listas de Pacotes e Classes |  Pacotes  |  Classes  |  Novidades  |  Índice  |  Apêndices  |  Por que inglês?
Filtros: Recuperando dados do servidor...
Recuperando dados do servidor...
 

Pacote flash.sampler 


Esse pacote é usado pelo agente de determinação de perfis, distribuído com o Adobe Flash Builder, e é fornecido para que você personalize o agente de determinação de perfis ou crie seus próprios testes de memória. Use o método startSampling() e o depurador Flash Player versão 9.0.115.0 ou superior para coletar amostras de uso da memória. Em seguida, use o método getSamples() para recuperar amostras de uso da memória. As amostras revelam o uso da memória de intervalos distintos de um aplicativo em execução. Em seguida, use os outros métodos no pacote flash.sampler para analisar as informações de uso da memória.

Observação: se você criar seu próprio agente de determinação de perfis personalizado, pré-carregue o arquivo SWF agente, configurando a propriedade PreloadSwf no arquivo mm.cfg:

PreloadSwf=C:/Documents and Settings/Nome_de_Usuário/testingagent.swf?aparam=asetting

Cada arquivo SWF agente pré-carregado tem seu próprio domínio de segurança e é executado em um modo seguro distinto, no arquivo SWF principal cujo perfil está sendo determinado. Para executar os métodos do pacote flash.sampler, o arquivo SWF agente deve estar em um caminho de arquivo localTrusted (consulte o Centro de segurança).

Métodos públicos
 FunçãoDefinido por
  
Exclui o conjunto atual de objetos Sample.
flash.sampler
  
Retorna o número de vezes que uma função get foi executada.
flash.sampler
  
Retorna o número de vezes que um método foi executado.
flash.sampler
  
Expõe o escopo léxico de uma Função para que os objetos de escopo capturados (inclusive objetos de ativação e com escopos) sejam vistos pelo perfilador como retidos pela instância Função.
flash.sampler
  
Retorna a string da página-mestre da qual esta string depende, ou null se esta string não depender de outra.
flash.sampler
  
getMemberNames(o:Object, instanceNames:Boolean = false):Object
Retorna um objeto contendo todos os membros de um objeto especificado, incluindo os membros privados.
flash.sampler
  
Retorna o número de amostras coletadas.
flash.sampler
  
Retorna um objeto de ocorrências de Sample de uso de memória da última sessão de amostragem.
flash.sampler
  
Retorna o "this" salvo de um fechamento de Método que você normalmente não pode visualizar em AS.
flash.sampler
  
Retorna o número de vezes que uma função de conjunto foi executada.
flash.sampler
  
Retorna o tamanho na memória de um objeto especificado quando usado com o Flash Player 9.0.115.0 ou versão posterior de depuração.
flash.sampler
  
Verifique para consultar se uma propriedade está definida pela função get/set.
flash.sampler
  
Para o processo de amostragem momentaneamente.
flash.sampler
  
Diz à amostra se deve criar NewObjectSamples para alocações internas do Flash Player.
flash.sampler
  
Define uma função de retorno de chamada para o sampleador - esta função será invocada quando a corrente de amostra estiver quase esgotada.
flash.sampler
  
Inicia o processo de coleta de uso de memória dos objetos Sample.
flash.sampler
  
Finaliza o processo de coleta de uso de memória dos objetos Sample e libera os recursos dedicados ao processo de amostragem.
flash.sampler
Detalhe da função

clearSamples

()função
public function clearSamples():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Exclui o conjunto atual de objetos Sample. Esse método é chamado normalmente depois da chamada de getSamples() e percorre os objetos Sample. Somente para a versão de depurador do Flash Player.

Elementos da API relacionados

getGetterInvocationCount

()função 
public function getGetterInvocationCount(obj:Object, qname:QName):Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna o número de vezes que uma função get foi executada. Use isGetterSetter() para verificar se você tem a função get/set antes de usar getGetterInvocationCount(). Somente para a versão de depurador do Flash Player.

Parâmetros

obj:Object — Uma instância de método ou uma classe.
 
qname:QName — Se qname for indefinido retornará o número de iterações da função constructor.

Retorna
Number — O número de vezes que um método get foi executado.

Elementos da API relacionados

getInvocationCount

()função 
public function getInvocationCount(obj:Object, qname:QName):Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna o número de vezes que um método foi executado. Se o parâmetro obj for uma Classe e o parâmetro qname for indefinido o método retornará o número de iterações da função constructor. Somente para a versão de depurador do Flash Player.

Parâmetros

obj:Object — Uma instância de método ou uma classe. Uma classe pode ser usada para obter a conta de invocação das funções da instância quando um método não está disponível. Se obj for undefined, este método retorna a contagem da função do escopo do pacote chamado pelo qname.
 
qname:QName — Se qname for indefinido retornará o número de iterações da função constructor.

Retorna
Number — O número de vezes que um método foi executado.

Exemplo  ( Como usar este exemplo )

 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

()função 
public function getLexicalScopes(obj:Function):Array

Expõe o escopo léxico de uma Função para que os objetos de escopo capturados (inclusive objetos de ativação e com escopos) sejam vistos pelo perfilador como retidos pela instância Função.

Parâmetros

obj:Function — Uma função

Retorna
Array — Uma matriz que contém todos os elementos do escopo léxico

getMasterString

()função 
public function getMasterString(str:String):String

Versão da linguagem: ActionScript 3.0

Retorna a string da página-mestre da qual esta string depende, ou null se esta string não depender de outra. Por exemplo, se você chamar String.substr () , a string retornada muitas vezes será efetivamente implementada apenas como um indicador na string original, por questão de eficiência. No uso normal, isto é um detalhe de implementação que não é visível ao usuário; contudo, pode ser confuso ao usar um perfilador para analisar o consumo de memória do seu programa, porque a string pode ser mostrada ocupando menos memória do que seria necessário para o valor da string. Além disso, uma string poderia ser retida na memória somente por ser a página-mestre de outras strings. getMasterString() permite aos perfiladores mostrar ao usuário um gráfico exato de dependências de strings.

Parâmetros

str:String — Uma string

Retorna
String — A string da qual a string passada depende, ou null se a string passada não depender de outra.

getMemberNames

()função 
public function getMemberNames(o:Object, instanceNames:Boolean = false):Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna um objeto contendo todos os membros de um objeto especificado, incluindo os membros privados. É possível percorrer os objetos retornados para consultar todos os valores. Esse método é semelhante ao método flash.utils.describeType(), mas também permite ver os membros privados e pular etapas intermediárias na criação de um objeto XML. Somente para a versão de depurador do Flash Player.

Parâmetros

o:Object — O objeto para análise.
 
instanceNames:Boolean (default = false) — Se o objeto é uma Classe e instanceNames for true, reporte os nomes da instância como se houvesse uma classe em vez de nomes de membros da classe.

Retorna
Object — Um Objeto o qual é necessário percorrer com para cada.em loop para recuperar os QNames para cada propriedade.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa o método getMemberNames() para analisar um objeto e exibir as propriedades buttonMode, filters e dispatchEvent de seus membros. Para usar o gerador de perfil de memória, é necessário ter a versão 9.0.115.0 ou posterior do depurador do Flash Player instalada.
 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

()função 
public function getSampleCount():Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna o número de amostras coletadas. Somente para a versão de depurador do Flash Player.

Retorna
Number — Um iterador de instâncias Sample.

Elementos da API relacionados

getSamples

()função 
public function getSamples():Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna um objeto de ocorrências de Sample de uso de memória da última sessão de amostragem. Somente para a versão de depurador do Flash Player.

Retorna
Object — Um iterador de instâncias Sample.

Elementos da API relacionados

getSavedThis

()função 
public function getSavedThis(obj:Function):Object

Retorna o "this" salvo de um fechamento de Método que você normalmente não pode visualizar em AS.

Parâmetros

obj:Function — Uma instância MethodClosure

Retorna
Object — Um objeto que é o "this" de MethodClosure

getSetterInvocationCount

()função 
public function getSetterInvocationCount(obj:Object, qname:QName):Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna o número de vezes que uma função de conjunto foi executada. Use isGetterSetter() para verificar se você tem a função get/set antes de usar getSetterInvocationCount(). Somente para a versão de depurador do Flash Player.

Parâmetros

obj:Object — Uma instância de método ou uma classe.
 
qname:QName — Se qname for indefinido retornará o número de iterações da função constructor.

Retorna
Number — O número de vezes que um método foi executado.

Elementos da API relacionados

getSize

()função 
public function getSize(o:*):Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Retorna o tamanho na memória de um objeto especificado quando usado com o Flash Player 9.0.115.0 ou versão posterior de depuração. Se for usado com um Flash Player que não seja a versão de depuração, o método retornará 0.

Parâmetros

o:* — O objeto para analisar o uso de memória.

Retorna
Number — A contagem de bytes de memória usada pelo objeto especificado.

Exemplo  ( Como usar este exemplo )

O exemplo a seguir usa startSampling() e pauseSampling para coletar objetos Sample. O exemplo então percorre os objetos Sample para valores id e tamanhos. Depois de chamar System.gc() para parar o processo atual, o exemplo compara os objetos deletedObjectSample aos valores id originais e exibe os tamanhos. Para usar o gerador de perfil de memória, é necessário ter a versão 9.0.115.0 ou posterior do depurador do Flash Player instalada.
 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

()função 
public function isGetterSetter(obj:Object, qname:QName):Boolean

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Verifique para consultar se uma propriedade está definida pela função get/set. Para usar getInvocationCount() em uma função get/set de uma propriedade, primeiro chame isGetterSetter() para verificar se é uma função get/set e use getSetterInvocationCount ou getGetterInvocationCount para obter as respectivas contagens. Somente para a versão de depurador do Flash Player.

Parâmetros

obj:Object — Uma instância de método ou uma classe.
 
qname:QName — Se qname for indefinido retornará o número de iterações da função constructor.

Retorna
Boolean — Um valor booliano indica que a propriedade foi definida por uma função get/set (true) ou não (false).

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

 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

()função 
public function pauseSampling():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Para o processo de amostragem momentaneamente. Reinicie o processo de amostragem usando startSampling(). Somente para a versão de depurador do Flash Player.

Elementos da API relacionados

sampleInternalAllocs

()função 
public function sampleInternalAllocs(b:Boolean):void

Versão da linguagem: ActionScript 3.0

Diz à amostra se deve criar NewObjectSamples para alocações internas do Flash Player. Se isto for definido como verdadeiro, então cada alocação gerará um NewObjectSample. Estas alocações internas não terão um tipo, ou um referência ao Objeto. Eles terão o rastreamento de pilha ActionScript que provocou a alocação. Define como falso, que só coleta alocações de objetos ActionScript.

Parâmetros

b:Boolean

setSamplerCallback

()função 
public function setSamplerCallback(f:Function):void

Versão da linguagem: ActionScript 3.0

Define uma função de retorno de chamada para o sampleador - esta função será invocada quando a corrente de amostra estiver quase esgotada. Isto deve ser usado para processar amostras antes que o buffer de amostra seja preenchido. o pauseSampling será chamado antes que o retorno de chamada ocorra, e startSampling será chamado depois que o retorno de chamada for realizado.

Parâmetros

f:Function

startSampling

()função 
public function startSampling():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Inicia o processo de coleta de uso de memória dos objetos Sample. Somente para a versão de depurador do Flash Player.

Elementos da API relacionados


Exemplo  ( Como usar este exemplo )

O exemplo a seguir inicia o processo de amostragem e percorre os objetos coletados. Para usar o gerador de perfil de memória, é necessário ter a versão 9.0.115.0 ou posterior do depurador do 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

()função 
public function stopSampling():void

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9.0.115.0

Finaliza o processo de coleta de uso de memória dos objetos Sample e libera os recursos dedicados ao processo de amostragem. O processo de amostragem é iniciado com startSampling(). Somente para a versão de depurador do Flash Player.

Elementos da API relacionados

[ X ]Por que inglês?
O conteúdo na Referência do ActionScript 3.0 aparece em inglês

Nem todas as partes da Referência do ActionScript 3.0 estão traduzidas em todos os idiomas. Quando um elemento de um idioma não está traduzido, ele é exibido em inglês. Por exemplo, a classe ga.controls.HelpBox não está traduzida em nenhum idioma. Por isso, na versão da referência em português do Brasil, a classe ga.controls.HelpBox é exibida em inglês.