`

AIR html 内存泄露

阅读更多

     众所周知,Flex虽然在客户体验方面独领风骚,但是其令人最头疼的问题就是内存泄露。最明显的就是Module的内存泄露,TextArea,各种Render等等。最近在AIR项目中使用到了Html,竟然也发现了Memory Leak的痕迹。

     主要表现是在加载Html,尤其是加载带有音频的html资源文件,会发现即使Html组件的location属性置空,并且设置其为null之后,之前被加载的资源仍得不到释放(主要表现是音频资源仍然在播放,如果是打开了一个以上的视频音频资源,两者的声音会冲突),更为奇怪的是通过代码释放,在Debug或者在run模式下,视频音频得到释放,一旦AIR被release成AIR文件安装,这种bug就会显现。

      但是在不断地尝试下,我发现如果是两个存在的html资源之间切换,资源就会被即使的重新加载,这样一来,音频冲突的额问题就可以解决了,通过在退出html时,将Html组件的location属性指向一个存在的不带有任何视频音频资源的空html资源,这样就解决了开始时提到的音频冲突的问题!

  PS:AIR的html组件的浏览器内核是webkit,同Firefox内核!

        有时候最简单的办法最有效!

分享到:
评论

相关推荐

    [使用AdobeAIR开发Android应用程序].PDF 及源代码

    因此,开发者需要注意优化代码,如减少不必要的渲染,使用位图数据,避免内存泄漏,以及利用Adobe AIR提供的本地API以提高性能。 8. **设备兼容性和适配**:开发Android应用时,需考虑到设备的多样性,包括不同屏幕...

    AIR性能和安全

    Adobe AIR是一种运行环境,允许开发者用HTML、JavaScript、Flash以及ActionScript构建并部署跨平台的应用程序。其设计目标是在桌面环境下提供类似Web应用的用户体验,同时利用本地系统资源,提升性能和功能。 #### ...

    flex 性能,查看内存

    标题 "flex 性能,查看内存" 暗示了我们正在讨论Adobe Flex,这是一个用于构建富互联网应用程序(RIA)的开源框架,基于ActionScript和Flash Player或Adobe AIR。Flex应用通常涉及大量的交互和动态数据处理,因此...

    air_extensions.pdf

    开发者可以使用 Adobe Flex、Adobe Flash (基于 SWF 文件格式) 以及 HTML、JavaScript 和 Ajax (基于 HTML) 来构建 AIR 应用程序。 **Adobe ActionScript 是什么?** ActionScript 3.0 是一种强大的面向对象编程...

    Adobe AIR的查看帮助文档

    当不再需要使用本机扩展时,应当释放`ExtensionContext`实例,以避免内存泄漏等问题。 **访问本机扩展的目录** 为了方便访问本机扩展相关的资源,可以通过特定的方法获取本机扩展所在的目录路径。 **从本机扩展...

    StageWebView

    6. **释放资源**:在不再使用StageWebView时,记得释放资源,避免内存泄漏。 ```actionscript webView.dispose(); ``` 通过这些基本操作,开发者可以在Adobe AIR应用中构建出包含网页功能的复杂应用。提供的"demo...

    MobileFlex调用摄像头

    - 在处理大量图像数据时,要注意内存管理,避免因内存泄漏而导致性能下降。 - 使用异步处理方式来提高用户体验,减少界面卡顿现象。 #### 五、总结 通过以上分析可以看出,利用Flash AIR技术结合Mobile Flex框架...

    cocos2dx框架分享

    Cocos2dx中使用了基于RetainCount的内存管理机制,开发者需要手动管理内存的增减,确保资源被正确地释放,避免内存泄漏。这涉及到对对象的retain和release操作。如果一个对象不再需要使用,应该调用其release方法来...

    as3.0学习手册

    - **内存管理**: AS3 使用自动垃圾回收机制来管理内存,减少了内存泄漏的风险。 - **事件驱动模型(Event-driven model)**: AS3 基于事件循环,使得应用程序能够响应用户的交互操作,如点击、滚动等。 - **多媒体...

    Jquery 1.6API 和1.4的API

    - `$().live()`和`$().delegate()`: 1.6移除了`.live()`方法,推荐使用`.delegate()`或后来的`.on()`,以提高性能并减少内存泄漏。 4. 兼容性与浏览器支持 jQuery 1.6对Internet Explorer的版本支持有了更高的要求...

    FLEX+Java开发(1).doc

    - **性能优化**:Flex提供强大的性能分析工具,如内存剖析器,帮助开发者识别和解决内存泄漏问题,确保应用的稳定性和性能。 - **部署灵活性**:Flex应用可以轻松地部署在Web应用或Adobe Integrated Runtime(AIR...

    as3_chm_jb51.rar

    了解并合理使用这些机制,可以避免内存泄漏和性能瓶颈。 总的来说,尽管AS3已经不是当前的主流技术,但它的核心概念和技巧对于理解现代Web动画技术和交互设计仍然有着深远的影响。通过深入学习“as3_chm_jb51.rar”...

    flex 文字编辑器

    2. 性能优化:减少不必要的重绘和更新,避免内存泄漏。 3. 错误处理:提供良好的错误提示和恢复机制,确保用户在遇到问题时能顺利操作。 4. 安全性:考虑到可能的XSS攻击,需要对用户输入进行过滤和转义。 在“文字...

    Flex 3企业级 Web应用系统设计与实现

    1. 垃圾回收:理解ActionScript 3.0的垃圾回收机制,避免内存泄漏。 2. 性能监控:使用Flex Profiler分析应用性能,找出瓶颈并进行优化。 3. 缓存策略:有效利用Flash Player的本地存储,缓存数据以提高性能。 七、...

    ActionScript开发技术大全

    学习如何优化代码,避免内存泄漏,理解垃圾回收机制,以及如何利用缓存和位图数据,都是高级ActionScript开发者的必备技能。 9. **错误处理和调试**:学习如何使用try/catch语句捕获和处理错误,以及如何利用Flash...

    基于RIA架构的应用开发改进方案

    - **数据加密**: 对敏感信息进行加密传输,防止数据泄露。 - **XSS与CSRF防护**: 避免跨站脚本和跨站请求伪造攻击。 - **权限管理**: 实现用户角色和权限控制,保护系统资源。 7. **后端服务优化** - **RESTful...

    ESP-Web-Server

    6. **内存管理**:由于嵌入式系统的内存有限,开发者需要谨慎处理内存分配和释放,防止内存泄漏。C++ 中的智能指针可以辅助管理内存,但需要注意其在低功耗环境下的性能影响。 7. **安全性**:考虑到 IoT 设备的...

Global site tag (gtag.js) - Google Analytics