【发布时间】:2013-05-18 07:14:48
【问题描述】:
我正在将一个名为 Spiri 的 mc 加载到一个名为 Box 的 mc 中。后来我想从内存使用和屏幕外删除。我在此处未显示补间中的屏幕外。
如果我使用removeChild(box);,它还会删除所有带有 in 的子项吗?
基本上我正在使用函数调用从库中加载 3 部电影。然后尝试删除它们并多次调用相同的函数。这意味着相同的电影以相同的名称一次又一次地加载。这应该替换旧的,但可能不是因为我没有正确删除它们,因为到第 10 次或第 15 次调用它变得非常慢。
我也在一个函数中添加了一个事件监听器。那是不是每次都添加一些事件列表器并占用资源?
多次运行该函数后似乎很慢,这让我相信某些东西没有正确卸载。
//I tried
box.removeChild(Spiri);
Spiri = null;
//then remove the parent like this
removeChild(box); /// but this gets an error.
again if i just do this
removeChild(Spiri); // it makes me wondering if they are getting removed.
如何删除 mc 中的父级和所有子级的最佳方法是什么?
【问题讨论】:
-
我建议你看看 Adobe Scout 我相信它暂时仍然是免费的,并且是一个用于分析和调整性能的惊人工具。它将监视计算机上的活动 SWF 文件,或者您可以在移动设备上安装 Scout 并配置 AIR 应用程序(设置非常简单)。
-
@shaunhusain 同意 Adobe Scout。老实说,我现在无法想象没有它的 Flash 开发。如此出色的应用程序。
-
这里还有一些好东西:active.tutsplus.com/tutorials/workflow/… 还要检查的另一件事是 MrDoobs HiRes Stats github.com/mrdoob/Hi-ReS-Stats
-
@shaunhusain 我实际上构建了自己的显示器,它可以像 Hi-Res 一样显示在应用程序中。监控内存、每秒帧数,甚至还有一个内置控制台。此外,它重量轻,完全适合移动设备(甚至针对 DPI 进行了调整),并且不会以任何显着方式影响内存或 FPS。不到一个月后,Adobe 发布了 Scout。那时我绝对觉得我浪费了几天。
-
您也可以只使用 Flash Builder 附带的分析器...
标签: performance actionscript-3 removechild addchild