Главная / Action Script 3
Пакетflash.sampler
Классpublic class Sample
НаследованиеSample Inheritance Object
Подклассы DeleteObjectSample, NewObjectSample

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

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

Посмотреть примеры

См. также

flash.sampler.getSamples()


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Общедоступные константы
 Константа Определено
  stack : Array
Содержит информацию о методах, выполненных проигрывателем Flash Player за указанный период времени.
Sample
  time : Number
Число микросекунд, определяющее продолжительность экземпляра Sample.
Sample
Сведения о константе
stackКонстанта
public const stack:Array

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

Содержит информацию о методах, выполненных проигрывателем Flash Player за указанный период времени. Формат для отслеживания стека сходен с содержимым диалогового окна для обработки исключений в отладочной версии проигрывателя Flash Player. Только для отладочной версии проигрывателя Flash Player.

timeКонстанта  
public const time:Number

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

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

Примеры Как пользоваться примерами
SampleTypesExample.as

В следующем примере свойства stack и time объекта Sample с именем s используются для сбора образцов памяти. Эти образцы содержат объекты NewObjectSample (массив newSamples), объекты DeleteObjectSample (массив delSamples) и объекты с образцами памяти ЦП (массив 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());
          }     
        }         
    }
}