Paket | flash.sampler |
Sınıf | public class Sample |
Miras Alma | Sample Object |
Alt Sınıflar | DeleteObjectSample, NewObjectSample |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
İlgili API Öğeleri
Genel Sabitler
Sabit | Tanımlayan: | ||
---|---|---|---|
stack : Array
Flash Player tarafından belirli bir süre boyunca çalıştırılan yöntemler hakkına bilgi içerir. | Sample | ||
time : Number
Sample örneğinin süresini belirten mikrosaniye | Sample |
Sabit Ayrıntısı
stack | Sabit |
public const stack:Array
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Flash Player tarafından belirli bir süre boyunca çalıştırılan yöntemler hakkına bilgi içerir. Yığın izlemesinin biçimi, Flash Player hata ayıklayıcı sürümünün istisna iletişim kutusunda gösterilen içerikle benzerlik gösterir. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
time | Sabit |
public const time:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Sample örneğinin süresini belirten mikrosaniye Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Örnekler Bu örnek nasıl kullanılır?
SampleTypesExample.as
Aşağıdaki örnek, bellek örnekleri toplamak için Sample nesnesinin
s
stack
ve time
özelliklerini kullanır. Örnekler, NewObjectSample nesnelerini (newSamples
dizisi), DeleteObjectSample nesnelerini (delSamples
dizisi) ve CPU belleği örnek nesnelerini (cpuSamples
dizisi) içerir. Bellek profilcisini kullanmak için, Flash Player hata ayıklayıcı sürüm 9.0.115.0 veya daha sonrasının yüklü olması gerekir.
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, 01:09 PM Z