パッケージ | flash.sampler |
クラス | public class Sample |
継承 | Sample Object |
サブクラス | DeleteObjectSample, NewObjectSample |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9.0.115.0 |
関連する API エレメント
パブリックプロパティ
パブリックメソッド
パブリック定数
定数 | 定義元 | ||
---|---|---|---|
stack : Array
指定された時間に Flash Player で実行されたメソッドに関する情報が含まれます。 | Sample | ||
time : Number
Sample インスタンスの継続時間をマイクロ秒単位で定義します。 | Sample |
定数の詳細
stack | 定数 |
public const stack:Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9.0.115.0 |
指定された時間に Flash Player で実行されたメソッドに関する情報が含まれます。スタックトレースのフォーマットは、Flash Player デバッグ版の例外ダイアログボックスに表示される内容と似ています。 Flash Player デバッグ版のみ。
time | 定数 |
public const time:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9.0.115.0 |
Sample インスタンスの継続時間をマイクロ秒単位で定義します。 Flash Player デバッグ版のみ。
例 この例の使用方法
SampleTypesExample.as
次の例では、Sample オブジェクトの
stack
プロパティと time
プロパティを使用してメモリサンプルを収集します。
このサンプルには、NewObjectSample オブジェクト(newSamples
配列)、DeleteObjectSample オブジェクト(delSamples
配列)および CPU メモリサンプルオブジェクト(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()); } } } }
Tue Jun 12 2018, 10:34 AM Z