| 패키지 | 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 객체
s의 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, 03:17 PM Z
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시