Pakket | flash.sampler |
Klasse | public class Sample |
Overerving | Sample Object |
Subklassen | DeleteObjectSample, NewObjectSample |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9.0.115.0 |
Verwante API-elementen
Openbare eigenschappen
Openbare methoden
Openbare constanten
Constante | Gedefinieerd door | ||
---|---|---|---|
stack : Array
Bevat informatie over de methoden die door Flash Player in een opgegeven tijdspanne worden uitgevoerd. | Sample | ||
time : Number
De microseconden die de tijdsduur van een instantie Sample bepalen. | Sample |
Constantedetails
stack | Constante |
public const stack:Array
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9.0.115.0 |
Bevat informatie over de methoden die door Flash Player in een opgegeven tijdspanne worden uitgevoerd. Het formaat voor de stacktracering is soortgelijk aan de inhoud die wordt weergegeven in het dialoogvenster voor uitzonderingen van de foutopsporingsversie van Flash Player. Uitsluitend voor de foutopsporingsversie van Flash Player.
time | Constante |
public const time:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9.0.115.0 |
De microseconden die de tijdsduur van een instantie Sample bepalen. Uitsluitend voor de foutopsporingsversie van Flash Player.
Voorbeelden Hoe dit voorbeeld te gebruiken
SampleTypesExample.as
In het volgende voorbeeld worden de eigenschappen
stack
en time
van een Sampleobject s
gebruikt om geheugensamples te verzamelen. De samples bevatten objecten NewObjectSample (de array newSamples
), objecten DeleteObjectSample (de array delSamples
), en objecten CPU-geheugensamples (de array cpuSamples
). Als u geheugenanalyse wilt gebruiken, moet de foutopsporingsversie 9.0.115.0 of hoger van Flash Player zijn geïnstalleerd.
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()); } } } }
Wed Jun 13 2018, 11:42 AM Z