| Package | flash.sampler |
| Class | public class Sample |
| Inheritance | Sample Object |
| Subclasses | DeleteObjectSample, NewObjectSample |
Player Version : Flash Player 9 debugger version Update 3.
See also
| Constant | Defined By | ||
|---|---|---|---|
| stack : Array
Contains information about the methods executed by Flash Player over a specified period of time.
| Sample | ||
| time : Number
The microseconds that define the duration of the Sample instance.
| Sample | ||
| stack | Constant |
public const stack:Array
Contains information about the methods executed by Flash Player over a specified period of time. The format for the stack trace is similiar to the content shown in the exception dialog box of the Flash Player debugger version.
Player Version : Flash Player 9 debugger version Update 3.
| time | Constant |
public const time:Number
The microseconds that define the duration of the Sample instance.
Player Version : Flash Player 9 debugger version Update 3.
stack and time properties of a Sample object
s to collect memory samples. The samples contain NewObjectSample objects (the
newSamples array), DeleteObjectSample objects (the delSamples array), and CPU memory sample
objects (the cpuSamples array). To use
the memory profiler, you need to have Flash Player debugger version Update 3 or later installed.
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());
}
}
}
}