Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
 

Пакет flash.sampler 


Этот пакет используется агентом профилирования, поставляемым с Adobe Flash Builder, и позволяет производить настройку агента профилирования или создавать собственные тесты использования памяти. Для сбора сведений об использовании памяти используйте метод startSampling() и отладочную версию Flash Player 9.0.115.0 или более позднюю. Используйте метод getSamples() для сбора сведений об использовании памяти. Эти сведения отражают уровень использования памяти по мере работы приложения. Для анализа собранных сведений используйте прочие методы из пакета flash.sampler.

Примечание. При создании собственного агента профилирования следует предварительно загрузить SWF-файл агента, путем настройки свойства PreloadSwf в файле mm.cfg:

PreloadSwf=C:/Documents and Settings/имя_пользователя/testingagent.swf?aparam=asetting

Каждый предварительно загружаемый SWF-файл агента имеет свой собственный домен безопасности и выполняется в определенной защищенной среде отдельно от основного профилируемого SWF-файла. Чтобы задействовать методы пакета flash.sampler, SWF-файл агента должен находиться в месте localTrusted (см. Центр безопасности).

Общедоступные методы
 ФункцияОпределено
  
Удаляет текущий набор объектов Sample.
flash.sampler
  
Возвращает число, указывающее на то, сколько раз была выполнена функция получения.
flash.sampler
  
Возвращает число, указывающее на то, сколько раз был выполнен метод.
flash.sampler
  
Показывает лексическую область объекта Function, так что захваченные объекты области (включая объекты активации и имеющие область действия) рассматриваются профилировщиком как сохраняемые экземпляром Function.
flash.sampler
  
Возвращает главную строку, от которой зависит данная строка, или ноль если данная строка не зависит от других.
flash.sampler
  
getMemberNames(o:Object, instanceNames:Boolean = false):Object
Возвращается объект, содержащий все члены указанного объекта, включая частные члены.
flash.sampler
  
Возвращает число собранных образцов.
flash.sampler
  
Возвращает объект с экземплярами Sample, содержащими данные об использовании памяти для последнего сеанса взятия образцов.
flash.sampler
  
Возвращает сохраненное свойство this из объекта MethodClosure, который обычно не видно в коде AS.
flash.sampler
  
Возвращает число, указывающее на то, сколько раз была выполнена функция установки.
flash.sampler
  
Возвращает размер, занимаемый указанным объектом в памяти, при использовании его в проигрывателе Flash Player 9.0.115.0 или более поздних отладочных версиях.
flash.sampler
  
Выполняется проверка, позволяющая увидеть, что свойство определено с помощью функции получения/установки.
flash.sampler
  
Немедленно завершает обработку образцов.
flash.sampler
  
Сообщает обработчику образцов о том, что необходимо создать объект NewObjectSamples для внутреннего распределения из Flash Player.
flash.sampler
  
Задает для обработчика образцов функцию обратного вызова, которая будет вызываться, когда поток образцов будет почти полностью исчерпан.
flash.sampler
  
Начинается процесс сбора информации об использовании памяти в объектах Sample.
flash.sampler
  
Завершает процесс сбора объектов Sample с данными об использовании памяти и освобождает ресурсы, выделенные для обработки образцов.
flash.sampler
Сведения о функции

clearSamples

()функция
public function clearSamples():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Удаляет текущий набор объектов Sample. Этот метод обычно используется после вызова getSamples() и повторяется для каждого объекта Sample. Только для отладочной версии проигрывателя Flash Player.

Связанные элементы API

getGetterInvocationCount

()функция 
public function getGetterInvocationCount(obj:Object, qname:QName):Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращает число, указывающее на то, сколько раз была выполнена функция получения. С помощью метода isGetterSetter() можно проверить наличие функции получения/установки перед использованием метода getGetterInvocationCount(). Только для отладочной версии проигрывателя Flash Player.

Параметры

obj:Object — Экземпляр метода или класс.
 
qname:QName — Если для qname задано undefined, возвращается число итераций функции конструктора.

Возвращает
Number — Число, указывающее на то, сколько раз был выполнен метод получения.

Связанные элементы API

getInvocationCount

()функция 
public function getInvocationCount(obj:Object, qname:QName):Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращает число, указывающее на то, сколько раз был выполнен метод. Если параметр obj это класс, а для параметра qname задано undefined, то данный метод возвращает число итераций функции конструктора. Только для отладочной версии проигрывателя Flash Player.

Параметры

obj:Object — Экземпляр метода или класс. Класс можно использовать для получения счетчика вызовов функций экземпляра, когда экземпляр метода недоступен. Если для obj задано undefined, этот метод возвращает счетчик действующей на уровне пакета функции с названием qname.
 
qname:QName — Если для qname задано undefined, возвращается число итераций функции конструктора.

Возвращает
Number — Число, указывающее на то, сколько раз был выполнен метод.

Пример  ( Использование этого примера )

 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

()функция 
public function getLexicalScopes(obj:Function):Array

Показывает лексическую область объекта Function, так что захваченные объекты области (включая объекты активации и имеющие область действия) рассматриваются профилировщиком как сохраняемые экземпляром Function.

Параметры

obj:Function — Функция

Возвращает
Array — Массив, содержащий все элементы лексического диапазон

getMasterString

()функция 
public function getMasterString(str:String):String

Язык версии: ActionScript 3.0

Возвращает главную строку, от которой зависит данная строка, или ноль если данная строка не зависит от других. Например, если вызвать метод String.substr(), возвращенная строка на самом деле часто внедряется в исходную строку лишь как указатель с целью обеспечения быстродействия. При нормальном использовании эта сторона внедрения не видна пользователю. Однако это может вызвать недоразумение при использовании профилировщика для анализа потребления памяти программой, так как для строки может быть указано меньше памяти, чем необходимо для содержащегося в ней значения. Кроме того, строка может сохраняться в памяти лишь по той причине, что она служит главной строкой для других зависимых строк. Метод getMasterString() позволяет профилировщикам показывать пользователю точную схему зависимостей строк.

Параметры

str:String — Строка

Возвращает
String — Строка, от которой зависит переданная строка, или ноль, если переданная строка не зависит от других.

getMemberNames

()функция 
public function getMemberNames(o:Object, instanceNames:Boolean = false):Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращается объект, содержащий все члены указанного объекта, включая частные члены. Затем можно выполнить итерации для возвращенного объекта, чтобы увидеть все значения. Этот метод сходен с методом flash.utils.describeType(), но также позволяет увидеть частных членов и пропустить промежуточный шаг создания объекта XML. Только для отладочной версии проигрывателя Flash Player.

Параметры

o:Object — Объект для анализа.
 
instanceNames:Boolean (default = false) — Если объект является классом, а для instanceNames задано значение true, то имена экземпляров передаются, как если бы «o» было экземпляром класса вместо имен членов класса.

Возвращает
Object — Объект, для которого следует выполнять итерации с помощью цикла for each..in для извлечения QNames по каждому свойству.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере метод getMemberNames() используется для анализа объекта и отображения свойств buttonMode, filters и dispatchEvent для его членов. Для использования профилировщика памяти необходимо, чтобы был установлен отладочный вариант проигрывателя Flash Player версии 9.0.115.0 или более поздней.
 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

()функция 
public function getSampleCount():Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращает число собранных образцов. Только для отладочной версии проигрывателя Flash Player.

Возвращает
Number — Итератор экземпляров Sample.

Связанные элементы API

getSamples

()функция 
public function getSamples():Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращает объект с экземплярами Sample, содержащими данные об использовании памяти для последнего сеанса взятия образцов. Только для отладочной версии проигрывателя Flash Player.

Возвращает
Object — Итератор экземпляров Sample.

Связанные элементы API

getSavedThis

()функция 
public function getSavedThis(obj:Function):Object

Возвращает сохраненное свойство this из объекта MethodClosure, который обычно не видно в коде AS.

Параметры

obj:Function — Экземпляр MethodClosure

Возвращает
Object — Объект, являющийся значением свойства this для объекта MethodClosure

getSetterInvocationCount

()функция 
public function getSetterInvocationCount(obj:Object, qname:QName):Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращает число, указывающее на то, сколько раз была выполнена функция установки. С помощью метода isGetterSetter() можно проверить наличие функции получения/установки перед использованием метода getSetterInvocationCount(). Только для отладочной версии проигрывателя Flash Player.

Параметры

obj:Object — Экземпляр метода или класс.
 
qname:QName — Если для qname задано undefined, возвращается число итераций функции конструктора.

Возвращает
Number — Возвращает число, указывающее на то, сколько раз был выполнен метод установки.

Связанные элементы API

getSize

()функция 
public function getSize(o:*):Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Возвращает размер, занимаемый указанным объектом в памяти, при использовании его в проигрывателе Flash Player 9.0.115.0 или более поздних отладочных версиях. При использовании не с отладочной версией проигрывателя Flash Player этот метод возвращает значение 0.

Параметры

o:* — Объект для анализа использования памяти.

Возвращает
Number — Счетчик памяти (в байтах), использованной указанным объектом.

Пример  ( Использование этого примера )

В следующем примере методы startSampling() и pauseSampling используются для сбора объектов Sample. Затем пример повторяется для всех объектов Sample с разными значениями id и размерами. После вызова System.gc() для прекращения текущего процесса, в примере выполняется сравнение объектов deletedObjectSample с исходными значениями id, и отображается их размер. Для использования профилировщика памяти необходим установленный отладочный вариант проигрывателя Flash Player версии 9.0.115.0 или более поздней.
 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

()функция 
public function isGetterSetter(obj:Object, qname:QName):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Выполняется проверка, позволяющая увидеть, что свойство определено с помощью функции получения/установки. Если требуется использовать метод getInvocationCount() в отношении функции получения/установки для свойства, вначале вызовите метод isGetterSetter(), чтобы проверить, действительно ли это функция получения/установки, а затем используйте либо getSetterInvocationCount, либо getGetterInvocationCount для получения соответствующих счетчиков. Только для отладочной версии проигрывателя Flash Player.

Параметры

obj:Object — Экземпляр метода или класс.
 
qname:QName — Если для qname задано undefined, возвращается число итераций функции конструктора.

Возвращает
Boolean — Логическое значение указывает на то, задано ли это свойство функцией получения/установки (true) или нет (false).

Связанные элементы API


Пример  ( Использование этого примера )

 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

()функция 
public function pauseSampling():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Немедленно завершает обработку образцов. Процесс обработки образцов повторно запускается с помощью метода startSampling(). Только для отладочной версии проигрывателя Flash Player.

Связанные элементы API

sampleInternalAllocs

()функция 
public function sampleInternalAllocs(b:Boolean):void

Язык версии: ActionScript 3.0

Сообщает обработчику образцов о том, что необходимо создать объект NewObjectSamples для внутреннего распределения из Flash Player. Если имеет значение true, то в результате каждого распределения создается объект NewObjectSample. У этих внутренних распределений нет типа, как и ссылки на объект. У них есть трассировка стека ActionScript, которая инициируется распределением. По умолчанию имеет значение false, которое собирает распределения только для объектов ActionScript.

Параметры

b:Boolean

setSamplerCallback

()функция 
public function setSamplerCallback(f:Function):void

Язык версии: ActionScript 3.0

Задает для обработчика образцов функцию обратного вызова, которая будет вызываться, когда поток образцов будет почти полностью исчерпан. Его следует использовать для обработки образцов до заполнения буфера образцов. pauseSampling вызывается до инициации обратного вызова, а startSampling после выполнения обратного вызова.

Параметры

f:Function

startSampling

()функция 
public function startSampling():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Начинается процесс сбора информации об использовании памяти в объектах Sample. Только для отладочной версии проигрывателя Flash Player.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере запускается процесс сбора образцов и повторения операций для собираемых объектов. Для использования профилировщика памяти необходима установленная отладочная версия проигрывателя Flash Player 9.0.115.0 или выше.
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

()функция 
public function stopSampling():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0

Завершает процесс сбора объектов Sample с данными об использовании памяти и освобождает ресурсы, выделенные для обработки образцов. Процесс сбора образцов запускается с помощью метода startSampling(). Только для отладочной версии проигрывателя Flash Player.

Связанные элементы API

[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.