flash.samplerStackFrame
La classe StackFrame permet d’accéder aux propriétés d’un bloc de données contenant une fonction.StackFrame
Object
La classe StackFrame permet d’accéder aux propriétés d’un bloc de données contenant une fonction. Pour la version débogueur de Flash Player uniquement.
toString
Convertit la classe StackFrame en une chaîne possédant les mêmes propriétés.StackFrame.toString, toString
Chaîne contenant la propriété name et, éventuellement, les propriétés file et line de l’objet StackFrame (dans le cas d’un débogage du fichier SWF). Pour la version débogueur de Flash Player uniquement.
String
Convertit la classe StackFrame en une chaîne possédant les mêmes propriétés.
file
Nom du fichier SWF faisant l’objet d’un débogage.StackFrame.file, file
String
Nom du fichier SWF faisant l’objet d’un débogage. Pour la version débogueur de Flash Player uniquement.
line
Numéro de ligne de la fonction dans le fichier SWF faisant l’objet d’un débogage.StackFrame.line, line
uint
Numéro de ligne de la fonction dans le fichier SWF faisant l’objet d’un débogage. Pour la version débogueur de Flash Player uniquement.
name
Nom de la fonction dans la classe StackFrame.StackFrame.name, name
String
Nom de la fonction dans la classe StackFrame. Pour la version débogueur de Flash Player uniquement.
scriptID
Identificateur de la fonction de script dans l’application en cours de profilage.StackFrame.scriptID, scriptID
Number
Identificateur de la fonction de script dans l’application en cours de profilage.
NewObjectSample
La classe NewObjectSample représente les objets créés dans un flux getSamples().NewObjectSample
flash.sampler:Sample
La classe NewObjectSample représente les objets créés dans un flux getSamples(). Pour la version débogueur de Flash Player uniquement.
L’exemple suivant a recours aux propriétés stack et time d’un objet Sample s pour collecter des échantillons mémoire. Ces échantillons contiennent des objets NewObjectSample (le tableau newSamples), des objets DeleteObjectSample (le tableau delSamples), ainsi que des objets exemple de mémoire processeur (le tableau cpuSamples). Pour utiliser le testeur de mémoire, vous devez disposer de la version de débogage de Flash Player 9.0.115.0 ou version ultérieure.
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());
}
}
}
}
flash.sampler.getSamples()type
Objet de classe correspondant à l’objet créé dans un flux getSamples().NewObjectSample, NewObjectSample.type, type
Class
Objet Class correspondant à l’objet créé dans un flux getSamples(). Pour la version débogueur de Flash Player uniquement.
object
L’objet NewObjectSample, s’il existe encore.NewObjectSample, NewObjectSample.object, object
L’objet NewObjectSample, s’il existe encore. Si l’objet a été nettoyé, cette propriété renvoie undefined et un objet DeleteObjectSample correspondant existe. Pour la version débogueur de Flash Player uniquement.
flash.sampler.DeleteObjectSamplesize
Taille de l’objet NewObjectSample.NewObjectSample, NewObjectSample.size, size
Number
Taille de l’objet NewObjectSample. Si l’objet a été nettoyé, cette propriété renvoie undefined et l’objet DeleteObjectSample correspondant est créé. Pour la version de débogage de FlashPlayer uniquement.
flash.sampler.DeleteObjectSampleclearSamples
Supprime le jeu d’objets Sample actuel.clearSamples
Supprime le jeu d’objets Sample actuel. Cette méthode est généralement appelée après l’appel de getSamples() et l’itération sur les objets Sample. Pour la version débogueur de Flash Player uniquement.
getSamples()getGetterInvocationCount
Renvoie le nombre d’exécutions d’une fonction get. getInvocationCount
Nombre d’exécutions d’une méthode get.
NumberobjObjectOccurrence de méthode ou classe.
qnameQNameSi qname renvoie undefined, cette méthode renvoie le nombre d'itérations de la fonction de constructeur.
Renvoie le nombre d’exécutions d’une fonction get. Utilisez isGetterSetter() pour vérifier que vous disposez d’une fonction get/set avant d’utiliser getGetterInvocationCount(). Pour la version débogueur de Flash Player uniquement.
isGetterSetter()getInvocationCount()getInvocationCount
Renvoie le nombre d’exécutions d’une méthode.getInvocationCount
Nombre d’exécutions d’une méthode.
NumberobjObjectOccurrence de méthode ou classe. Il est possible d’utiliser une classe pour obtenir le nombre d’appels des fonctions d’occurrence lorsque l’occurrence d’une méthode n’est pas disponible. Si le paramètre obj renvoie undefined, cette méthode renvoie le nombre de fonctions de package nommées par qname.
qnameQNameSi qname renvoie undefined, cette méthode renvoie le nombre d'itérations de la fonction de constructeur.
Renvoie le nombre d’exécutions d’une méthode. Si le paramètre obj est un objet Class et que le paramètre qname renvoie undefined, cette méthode renvoie le nombre d’itérations de la fonction de constructeur. Pour la version débogueur de Flash Player uniquement.
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
Expose le domaine lexical d’une fonction de façon à ce que le profileur puisse voir les objets scope capturés (y compris les objets activation et les domaines with) comme étant retenus par l’occurrence de la fonction.Tableau contenant tous les éléments du domaine lexical
ArrayobjFunctionUne fonction
Expose le domaine lexical d’une fonction de façon à ce que le profileur puisse voir les objets scope capturés (y compris les objets activation et les domaines with) comme étant retenus par l’occurrence de la fonction.
getMasterString
Renvoie la chaîne principale dont cette chaîne dépend, ou null si la valeur de cette chaîne ne dépend pas d’une autre chaîne.Chaîne dont dépend la chaîne transmise, ou null si la chaîne transmise ne dépend pas d’une autre chaîne.
StringstrStringUne chaîne
Renvoie la chaîne principale dont cette chaîne dépend, ou null si la valeur de cette chaîne ne dépend pas d’une autre chaîne. Par exemple, si vous appelez String.substr(), la chaîne renvoyée est en fait généralement implémentée comme pointeur dans la chaîne d’origine, par souci d’efficacité. En mode normal, il s’agit d’un détail d’implémentation que l’utilisateur ne voit pas. Toutefois, il peut prêter à confusion lors de l’utilisation d’un profileur pour analyser la consommation de mémoire de votre programme, car il est possible que la chaîne indique qu’elle utilise moins de mémoire que nécessaire pour la valeur de la chaîne. Il est par ailleurs possible qu’une chaîne soit conservée en mémoire uniquement parce qu’elle est la chaîne principale pour d’autres chaînes. getMasterString() permet aux profileurs de présenter à l’utilisateur un graphique précis de dépendances de chaînes.
getMemberNames
Renvoie un objet contenant tous les membres d’un objet spécifié, y compris les membres privés.getMemberNames
Objet sur lequel vous devez effectuer une itération à l’aide d’une boucle for each..in afin de récupérer la classe finale QNames de chaque propriété.
ObjectoObjectObjet à analyser.
instanceNamesBooleanfalseS’il s’agit d’un objet de classe et si la propriété instanceNames est définie sur true, signalez les noms d’occurrence comme s’il s’agissait de l’occurrence d’une classe au lieu des noms des membres de classe.
Renvoie un objet contenant tous les membres d’un objet spécifié, y compris les membres privés. Vous pouvez ensuite procéder à l’itération sur l’objet renvoyé pour obtenir toutes les valeurs. Cette méthode est similaire à la méthode flash.utils.describeType() ; elle vous permet en outre d’afficher les membres privés et d’ignorer l’étape intermédiaire de création d’un objet XML. Pour la version débogueur de Flash Player uniquement.
L’exemple suivant a recours à la méthode getMemberNames() pour analyser un objet et afficher les propriétés buttonMode, filters et dispatchEvent de ses membres. Pour utiliser le testeur de mémoire, vous devez disposer de la version de débogage de Flash Player 9.0.115.0 ou version ultérieure.
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);
}
}
}
flash.utils.describeType()for each..ingetSampleCount
Renvoie le nombre d’échantillons collectés.getSampleCount
Itérateur des occurrences Sample.
Number
Renvoie le nombre d’échantillons collectés. Pour la version débogueur de Flash Player uniquement.
flash.sampler.SamplegetSamples
Renvoie un objet des occurrences Sample d’utilisation de la mémoire depuis la dernière session d’échantillonnagegetSamples
Itérateur des occurrences Sample.
Object
Renvoie un objet des occurrences Sample d’utilisation de la mémoire depuis la dernière session d’échantillonnage. Pour la version débogueur de Flash Player uniquement.
flash.sampler.SamplegetSavedThis
Renvoie l’élément "this" enregistré depuis une fermeture de méthode que vous ne pouvez normalement pas voir depuis AS.Objet représentant l’élément "this" de MethodClosure
ObjectobjFunctionUne occurrence de MethodClosure
Renvoie l’élément "this" enregistré depuis une fermeture de méthode que vous ne pouvez normalement pas voir depuis AS.
getSetterInvocationCount
Renvoie le nombre d’exécutions d’une fonction set.getInvocationCount
Nombre d’exécutions d’une méthode set.
NumberobjObjectOccurrence de méthode ou classe.
qnameQNameSi qname renvoie undefined, cette méthode renvoie le nombre d'itérations de la fonction de constructeur.
Renvoie le nombre d’exécutions d’une fonction set. Utilisez isGetterSetter() pour vérifier que vous disposez d’une fonction get/set avant d’utiliser la fonction getSetterInvocationCount(). Pour la version débogueur de Flash Player uniquement.
isGetterSetter()getInvocationCount()getSize
Renvoie la taille en mémoire d’un objet spécifique lors de l’utilisation de la version de débogage de Flash Player 9.0.115.0. ou ultérieure.getSize
Nombre d’octets de la mémoire utilisés par l’objet spécifié.
NumberoObjet à analyser pour l’utilisation de la mémoire.
Renvoie la taille en mémoire d’un objet spécifique lors de l’utilisation de la version de débogage de Flash Player 9.0.115.0. ou ultérieure. Si cet objet n’est pas utilisé avec la version de débogage de Flash Player, cette méthode renvoie 0.
L’exemple suivant a recours aux fonctions startSampling() et pauseSampling pour collecter les objets Sample. L’exemple procède ensuite à l’itération sur les objets Sample pour les valeurs et les tailles id. Faisant suite à l’appel de la méthode System.gc() pour arrêter le processus en cours, l’exemple compare les objets deletedObjectSample aux valeurs id originales, puis affiche leur taille. Pour utiliser le testeur de mémoire, vous devez disposer de la version de débogage de Flash Player 9.0.115.0 ou version ultérieure.
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
Vérifie si une propriété est définie par une fonction get/set.getInvocationCount
Valeur booléenne qui indique si la propriété est définie par une fonction get/set (true) ou non (false).
BooleanobjObjectOccurrence de méthode ou classe.
qnameQNameSi qname renvoie undefined, cette méthode renvoie le nombre d'itérations de la fonction de constructeur.
Vérifie si une propriété est définie par une fonction get/set. Si vous souhaitez utiliser la fonction getInvocationCount() sur une fonction get/set pour une propriété, vous devez tout d’abord appeler isGetterSetter() pour vérifier s’il s’agit d’une fonction get/set, puis utiliser getSetterInvocationCount ou getGetterInvocationCount afin d’obtenir les compteurs respectifs. Pour la version débogueur de Flash Player uniquement.
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) { }
}
}
getInvocationCount()getSetterInvocationCount()getGetterInvocationCount()pauseSampling
Interrompt momentanément l’échantillonnage.pauseSampling
Interrompt momentanément l’échantillonnage. Pour relancer l’échantillonnage, utilisez la fonction startSampling(). Pour la version débogueur de Flash Player uniquement.
startSampling()sampleInternalAllocs
Indique à l’échantillonneur s’il doit créer des objets NewObjectSample pour des allocations internes depuis Flash Player.sampleInternalAllocs
bBoolean
Indique à l’échantillonneur s’il doit créer des objets NewObjectSample pour des allocations internes depuis Flash Player. Si cette propriété est définie sur true, chaque allocation génère un objet NewObjectSample. Ces allocations internes ne possèdent pas de type, ni de référence à l’objet. C’est la trace de la pile ActionScript qui a déclenché l’allocation. Par défaut, cette propriété est définie sur false, ce qui a pour unique objectif de recueillir des allocations pour les objets ActionScript.
setSamplerCallback
Définit une fonction de rappel pour l’échantillonneur ; cette fonction est appelée une fois le flux de l’échantillon épuisé.sampleInternalAllocs
fFunction
Définit une fonction de rappel pour l’échantillonneur ; cette fonction est appelée une fois le flux de l’échantillon épuisé. Elle doit être utilisée pour traiter les échantillons avant que la mémoire tampon ne soit pleine. pauseSampling est appelée avant que le rappel n’ait lieu et startSampling est appelée une fois le rappel exécuté.
startSampling
Commence le processus de collecte des objets Sample d’utilisation de la mémoire.startSampling
Commence le processus de collecte des objets Sample d’utilisation de la mémoire. Pour la version débogueur de Flash Player uniquement.
L’exemple suivant lance le processus d’échantillonnage et effectue une itération sur les objets collectés. Pour utiliser le testeur de mémoire, vous devez disposer de la version de débogage de Flash Player 9.0.115.0 ou version ultérieure.
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)
}
}
}
Classe SamplestopSampling
Termine le processus de collecte des objets Sample d’utilisation de la mémoire et libère les ressources dédiées à l’échantillonnage.stopSampling
Termine le processus de collecte des objets Sample d’utilisation de la mémoire et libère les ressources dédiées à l’échantillonnage. Pour démarrer l’échantillonnage, utilisez la fonction startSampling(). Pour la version débogueur de Flash Player uniquement.
Classe SampleSample
La classe Sample crée des objets qui renferment des informations d’analyse de la mémoire sur plusieurs durées.Sample
Object
La classe Sample crée des objets qui renferment des informations d’analyse de la mémoire sur plusieurs durées. Pour la version débogueur de Flash Player uniquement.
L’exemple suivant a recours aux propriétés stack et time d’un objet Sample s pour collecter des échantillons mémoire. Ces échantillons contiennent des objets NewObjectSample (le tableau newSamples), des objets DeleteObjectSample (le tableau delSamples), ainsi que des objets exemple de mémoire processeur (le tableau cpuSamples). Pour utiliser le testeur de mémoire, vous devez disposer de la version de débogage de Flash Player 9.0.115.0 ou version ultérieure.
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());
}
}
}
}
flash.sampler.getSamples()stack
Contient des informations sur les méthodes exécutées par Flash Player dans un délai spécifique.Sample, Sample.stack, stack
Array
Contient des informations sur les méthodes exécutées par Flash Player dans un délai spécifique. Le format de la trace de pile est similaire au contenu affiché dans la boîte de dialogue de l’exception de la version de débogage de Flash Player. Pour la version débogueur de Flash Player uniquement.
time
Microsecondes définissant la durée de l’occurrence de Sample.Sample, Sample.time, time
Number
Microsecondes définissant la durée de l’occurrence de Sample. Pour la version débogueur de Flash Player uniquement.
DeleteObjectSample
La classe DeleteObjectSample représente les objets créés dans un flux getSamples() ; chaque objet DeleteObjectSample correspond à un objet NewObjectSample.DeleteObjectSample
flash.sampler:Sample
La classe DeleteObjectSample représente les objets créés dans un flux getSamples() ; chaque objet DeleteObjectSample correspond à un objet NewObjectSample. Pour la version débogueur de Flash Player uniquement.
L’exemple suivant a recours aux propriétés stack et time d’un objet Sample s pour collecter des échantillons mémoire. Ces échantillons contiennent des objets NewObjectSample (le tableau newSamples), des objets DeleteObjectSample (le tableau delSamples), ainsi que des objets exemple de mémoire processeur (le tableau cpuSamples). Pour utiliser le testeur de mémoire, vous devez disposer de la version de débogage de Flash Player 9.0.115.0 ou version ultérieure.
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());
}
}
}
}
flash.sampler.getSamples()id
Numéro d’identification unique correspondant au numéro d’identification d’un objet NewObjectSample.DeleteObjectSample, DeleteObjectSample.id, id
Number
Numéro d’identification unique correspondant au numéro d’identification d’un objet NewObjectSample. Pour la version débogueur de Flash Player uniquement.
flash.sampler.NewObjectSample.idsize
Taille de l’objet DeleteObjectSample avant sa suppression.DeleteObjectSample, DeleteObjectSample.size, size
Number
Taille de l’objet DeleteObjectSample avant sa suppression. Pour la version débogueur de Flash Player uniquement.
flash.sampler.NewObjectSample.id