Package | flash.sampler |
Classe | public class Sample |
Héritage | Sample Object |
Sous-classes | DeleteObjectSample, NewObjectSample |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9.0.115.0 |
Eléments de l’API associés
Propriétés publiques
Méthodes publiques
Constantes publiques
Constante | Défini par | ||
---|---|---|---|
stack : Array
Contient des informations sur les méthodes exécutées par Flash Player dans un délai spécifique. | Sample | ||
time : Number
Microsecondes définissant la durée de l’occurrence de Sample. | Sample |
Détails de la constante
stack | Constante |
public const stack:Array
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9.0.115.0 |
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 | Constante |
public const time:Number
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9.0.115.0 |
Microsecondes définissant la durée de l’occurrence de Sample. Pour la version débogueur de Flash Player uniquement.
Exemples Comment utiliser cet exemple
SampleTypesExample.as
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()); } } } }
Tue Jun 12 2018, 09:30 AM Z