我有一个为ActionScript导出的影片剪辑作为一个类,我在循环中创建了许多实例并将其添加到舞台。
当我在移动设备上测试应用程序时,它会在循环开始时冻结一秒,然后一切正常
以下是它的外观示例:
for(var i:int = 0; i < 20; i++)
{
var mc:MC = new MC();
mc.textField.text = "mc"+i;
mc.y = i * mc.height;
addChild(mc);
}
所以,我问是否有更好的方法可以不冻结? 感谢。
答案 0 :(得分:3)
提高性能的一种方法是利用“object pool pattern”重用已经生成的对象:
这是一个软件创建设计模式,使用一组 初始化的对象随时可以使用 - 一个“池” - 而不是 按需分配和销毁它们。池的客户端将 请求池中的对象并对返回的对象执行操作 宾语。当客户端完成后,它将对象返回到 游泳而不是摧毁它;这可以手动完成或 自动。
Adobe's website上提供了有关“对象池模式”的更多信息和工作示例代码:)