`
ibio
  • 浏览: 16439 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

FlashPlayer10的Loader.unloadAndStop

阅读更多

Adobe发布了FlashPlayer10 Beta2。关键的更新之一是给Loader加入新的unloadAndStop。有人可能不明白为什么Loader有unload,还要新加一个 unloadAndStop。有次我做一个讲座的讲稿,里面需要调用几个演示的swf。测试的时候,先是发现unload没有清除加载swf中播放的声 音,我用了SoundMixer.stopAll()处理。但又发现在几个演示之间来回切换(切换时都会unload上一个swf),FP占用的内存会持 续增长,即使切换到没有演示的页面,内存占用也没有减少。试了很多办法,发现只有停止被加载内容里所有的Event监听器和媒体播放(包括 Moviecip),才能成功的进行卸载。当时在网上搜了一下,发现这是FP9垃圾回收机制的一个Bug。如果没有及时有效的清理掉内存中的垃圾,一个稍 微复杂点的网站都有可能让用户的浏览器垮掉。

还好,这次的FP更新中Adobe及时的做了补救。unloadAndStop会以递归的形式关闭被加载内容中所有的监听器、声音和Netstream等等对象,从而使被卸载内容更快的被垃圾处理器清除。可惜FP9中仍然不能简单快速的清理内存中的垃圾。

分享到:
评论

相关推荐

    FLASH Loader 加载外包文件

    Loader类是Flash Player和Air环境中提供的,它负责处理内容的加载和显示。通过创建Loader对象,我们可以加载并嵌入到舞台上任何类型的DisplayObject。这为内容分发和动态更新提供了可能,使得应用程序可以加载并运行...

    Loader动态加载图片

    Loader 类位于 flash.display 包中,它提供了一个接口来加载和显示各种类型的内容。以下是一个简单的示例,展示如何使用Loader 类动态加载PNG图片: 1. 创建Loader对象: ```actionscript var loader:Loader = ...

    用AS3加载外部SWF文件

    在Adobe Flash CS4环境中,加载外部SWF文件是实现动态内容和交互性的重要手段,允许开发者将不同部分的项目组合在一起,或者根据需要加载不同的组件。 首先,我们需要了解AS3中的Loader类,它是负责加载各种类型...

    FLASH图片切换代码

    loader.unloadAndStop(); // 卸载并停止当前图片 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded); loader.load(new URLRequest(imageList[currentIndex])); // 加载新图片 } // 每...

    加载外部swf

    loader.unloadAndStop(); ``` 此外,外部SWF文件可以包含可交互的对象,比如按钮、影片剪辑等,加载后可以通过`Loader.content`属性访问它们并进行交互。同时,SWF也可以传递数据,例如通过`ExternalInterface`与...

    flash加载外部位图

    loader.unloadAndStop(true); loader = null; ``` 在实际应用中,可能还需要考虑更多细节,例如调整位图大小、添加缓冲效果、异步加载优化、错误处理等。此外,如果位图数据需要频繁更改或更新,可以考虑使用...

    flash切换图片代码

    loader.unloadAndStop(); loader.load(new URLRequest(images[imageIndex++])); } ``` 在这个例子中,我们首先导入了必要的类并定义了一个数组`images`来存储图片的URL。然后创建了一个`Loader`对象来加载图片,...

    flash 自动加载外部图片 按左右键切换

    loader.unloadAndStop(); loader.load(new URLRequest(imageArray[currentIndex])); } ``` 五、图片过渡效果 为了增加用户体验,可以在图片切换时添加过渡效果,如淡入淡出、滑动等。这可以通过改变图片的透明度...

    FLASH AS3.0 控制加载的图片旋转缩放

    为了使图片浏览器具有重新加载图片的功能,可以在`index.as`中设置一个按钮或菜单选项,调用`Loader`的`unloadAndStop()`方法卸载当前图片,然后重新加载新的图片: ```as function reloadImage():void { loader....

    Flash 导入资源

    对于`Loader`加载的资源,可以调用`unloadAndStop()`方法释放内存。 4. **优化导入的库资源**:尽量减小库资源的大小,例如,使用优化的图片格式(如PNG8代替PNG24),压缩音频和视频,以及减少不必要的帧率。 四...

    flash加载多个SWF

    在Flash中,我们可以使用`Loader`类来加载SWF文件。`Loader`类是ActionScript 3.0中的一个关键组件,它允许我们加载各种类型的内容,包括图像、SWF文件、视频等。为了加载SWF,我们需要创建一个`Loader`对象,然后...

    Flash源代码

    10. **学习资源**:学习Flash编程,可以参考Adobe官方文档、在线教程、书籍以及社区论坛,如Adobe Developer Connection、Stack Overflow等,这些资源提供了丰富的实例和问题解答。 理解并掌握以上知识点,将使你...

    Flex面试试题(By稻田).doc

    swfLoader.unloadAndStop(); ``` 七、事件监听输出: 1. 当点击按钮区域,`event.target`是按钮对象,输出类型为`Button`。 2. 当点击Canvas但不在按钮区域,`event.target`是Canvas对象,输出类型为`Canvas`。 八...

    AS3图片浏览器

    10. **扩展性与可定制性**:一个优秀的AS3图片浏览器应具备良好的扩展性,允许用户自定义界面风格、添加特效或集成其他功能。这可能涉及到模块化的设计和开放API,使得开发者和用户可以根据需求进行二次开发。 综上...

    Flex模块化开发实例

    - **卸载**:通过调用`unloadAndStop`方法可以卸载模块,释放其占用的资源。 6. **模块间通信**: 模块间的通信可以通过事件、本地存储或共享服务实现。使用`ExternalInterface`可以与JavaScript进行交互,实现...

    Adobe Flex迷你教程 -- 合理使用Module分割项目以及对Module的使用

    - **卸载**:如果不再需要模块,可以使用`unloadAndStop`方法释放资源,但要注意,卸载后模块的状态将丢失。 4. **最佳实践**: - **明确模块边界**:确保每个模块有明确的功能范围,避免模块间过多的交互。 - *...

Global site tag (gtag.js) - Google Analytics