| パッケージ | 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
継承されるパブリックプロパティを隠す
継承されるパブリックプロパティを表示