這裏是我到目前爲止有:
timeLabel.text += "\nAbstractDataGridItemRenderer: " + testGridItemRenderer(AbstractDataGridItemRenderer, data, 50);
而且功能:
public function testItemRenderer(renderer:Class, data:Object, iterations:int = 1000, resetTime:Boolean = false):int {
var layoutManager:LayoutManager = LayoutManager.getInstance();
var time:int = getTimer();
var itemRenderer:IItemRenderer;
for (var i:int;i<iterations;i++) {
itemRenderer = new renderer();
itemRenderer.data = data.name + i;
itemRenderer.width = 300;
itemRenderer.height = 30;
itemRenderer.y = i * 30;
itemRenderer.label = LabelUtil.itemToLabel(data, "label");
addElement(itemRenderer);
//trace("initialized = " + ILayoutManagerClient(itemRenderer).initialized);
layoutManager.validateClient(ILayoutManagerClient(itemRenderer), false);
//trace("initialized = " + ILayoutManagerClient(itemRenderer).initialized);
}
if (resetTime) {
time = getTimer();
for (i=0;i<iterations;i++) {
itemRenderer.data = data.name + i;
itemRenderer.label = LabelUtil.itemToLabel(data, "label");
//addElement(itemRenderer);
//trace("initialized = " + ILayoutManagerClient(itemRenderer).initialized);
layoutManager.validateClient(ILayoutManagerClient(itemRenderer), false);
//trace("initialized = " + ILayoutManagerClient(itemRenderer).initialized);
}
return getTimer() - time;
}
return getTimer() - time;
}
我不知道這是否是正確的,但它給我幾個電話號碼的工作。我寧願不將它添加到舞臺上,但似乎我必須這樣做才能使其初始化。提交,測量和佈局:
Initialized當一個對象是否已通過佈局的所有三個階段 是真實的。
更新。我添加了重置階段。這留下了渲染階段。
http://stackoverflow.com/questions/7558678/flex-profiler-alternative – ethrbunny 2013-03-25 19:56:25
謝謝@ethrbunny但我需要特定的代碼。 – 2013-03-25 20:43:48
我建議你使用一個探查器來代替你的代碼。 – ethrbunny 2013-03-26 13:04:35