LEARN MORE
释放内存
发布机构:杏耀娱乐 发布日期:2019-04-05 访问量:

  

  无法直接在闪 Player的发行版启动垃圾收集器。为了确保一个对象被垃圾回收,删除的对象的所有引用。请记住,在ActionScript 1.0和2。在旧运营商所使用的ActionScript 3 0.0行为不同。它只能用于删除动态对象的动态属性。

  例如,下面的代码来设置参考精灵:

  VAR mySprite上:雪碧=新的Sprite();

  //设置参考零,从而使垃圾收集器移除了

  从内存//它

  mySprite上= NULL;

  请记住,当设定目标也不会从内存中删除。如果可用内存不被认为是足够低,垃圾回收器可能无法运行。执行时间垃圾收集不可预测的。内存分配(而不是对象删除)会触发垃圾回收。当垃圾收集器运行时,它会查找图形对象尚未收集。通过找到对象的垃圾收集器相互引用,但在这些图中的应用程序不再使用,以检测非活动对象。以这种方式检测到不活动已删除对象。

  在大型应用程序,这个过程会消耗大量的CPU并影响性能,并可能导致显著运行应用程序变慢。垃圾杏耀亚洲收集通过尽可能重用对象,尽量限制。另外,尽可能多地引用为null,使垃圾收集使用较少的处理时间找对象。垃圾收集将被视为一种保护措施,并始终以明确管理对象的生命周期尽可能。

  该方法可以使用Adobe AIR和Flash Player调试版提供启动垃圾收集器。使用此设置与Adobe? Flash? 生成器? 捆绑还可以手动启动垃圾收集器。通过运行垃圾收集器可以了解应用程序响应和对象是否已经从内存中正确删除。

  幸运的是,这样可以立即减少内存位图的使用量。例如,BitmapData类的方法包括。下面的示例创建一个1.8 MB的BitmapData实例。目前用来增加内存1.8 MB,属性返回较小的值:

  跟踪(系统。totalMemory / 1024);

  //输出:43100

  //创建一个BitmapData实例

  VAR图像:的BitmapData =新的BitmapData(800,600);

  跟踪(系统。totalMemory / 1024);

  //输出:44964

  然后,手动的位图数据从内存和内存使用情况检查再次移除:

  跟踪(系统。totalMemory / 1024);

  //输出:43100

  //创建一个BitmapData实例

  VAR图像:的BitmapData =新的BitmapData(800,600);

  跟踪(系统。totalMemory / 1024);

  //输出:44964

  图片。处置();

  图像= NULL;

  跟踪(系统。totalMemory / 1024);

  //输出:43084

  尽管该方法可以删除存储像素,但它仍必须将引用设置充分释放可用内存。当你不再需要BitmapData对象,并引用应该总是调用的方法设置了立即释放内存。

  更多帮助主题

  冷冻和解冻对象

  本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可 推特? 在Facebook上的内容的条款没有约束知识共享。

更多资讯

回到顶部