`

Flex性能优化常用手法总结

阅读更多

随着Flex越来越多的被人们所熟知,越来越多的互联网也开始了RIA应用。众所周知,目前国内的宽带应用并不是像很多发达国家发达,个人应用带宽基本上都是2M以下的,怎么样能够使你的Flex应用能够流畅的运行在客户端的问题,成为了制约每个Flex应用开发程序员的大难题。
在这里,我收集整理了一下网络上关于这方面经验,欢迎大家补充。

基本原则:
1. 从外部加载媒体(Media)
      Heider提到了一个常用的Flex最佳实践——限制嵌入到应用/SWF文件中的媒体的数量,如图像、影片及mp3等资源都可以从外部的SWF文件加载。
Flex框架可以直接将图片、mp3及字体等资源编译到SWF中。当你想让最终用户获得全部资源时,这种方式确实能派上用场,但是这会导致你的应用长时间停留在“Loading”阶段。

2. 在嵌入式字体中限制字符集
Heider建议在嵌入式字体中限制字符集以降低SWF文件的总下载时间:
当你在Flex中嵌入一种字体时,你就会获得该字体的全部字符的支持。尽管这可能是你想要的,但你确信你需要全部字符么?例如,在一个只面向英文的应用中,你确信你真的想花时间下载中文字符数据么?
3. 缓存框架
        Heider回顾了Flex 3 support for runtime-shared-libraries (RSL)这篇文章:

从Flex 3开始,你可以将Adobe签名的框架——RSLs缓存到Flash Player的cache中。这有两个好处。首先,缓存在Flash Player cache中的签名的框架RSLs可由所有配置好的Flex应用共享。换句话说,如果某人的应用已经下载了500k的签名的框架RSL,并且该RSL仍旧 在Flash Player cache中,那么你的应用就可以使用缓存下来的RSL。其次,即使某人清空了其浏览器缓存,对Flash Player cache也没有任何影响。
4. 考虑模块化
Heider谈到了将Flex应用划分成模块的好处:减少字体加载时间的另一种方式就是将你的Flex应用划分成模块。使用模块的一个好处在于当加载和卸载模块时你能完全操控它。
之所以要划分成模块的最后一个原因是他们更快,而且我能即时加载它们。换句话说,在启动时唯一需要加载的模块就是 Step1.swf模块。因此,在使用模块的情况下,最终用户节省了启动时间,但是当他从一个模块切换到另一个模块时却需要花更多时间,因为每个模块都需 要以JIT形式加载。在我的应用中,只有当用户首次在steps 1-5之间切换时需要花更多时间。
5. 推迟实例化
      Heider围绕着Flex组件的“creationPolicy”属性及何时实例化应用的不同部分给出了很多建议。
      如果你想减少从数据下载到用户真正可以使用的总时间,当务之急就是推迟实例化。这项技术背后的理念就是直到应用真正使用的时候才在内存中创建对象。
      尽管推迟实例化技术会在应用的整个使用过程中导致少许——通常不那么明显——的延迟,但与长时间的启动延迟相比,它还是可接受的。推迟实例化的另一个好处在于内存使用的优化。

以上原则来自Jun Heider在O’Reilly的InsideRIA站点上发表了一篇精彩的文章,该文章就如何加快Flex应用的启动速度提出了很多建议,以帮助用户减少看见讨厌的“Loading”对话框的出现时间。他深入探讨了问题的不同方面,并对每种技术的优势和劣势进行了评判。Heider还谈到了一个“实验性”的条款——“使用流”,这是他在讨论Dirk Eismann的帖子(Building monolithic Flex SWFs that still startup quickly.”)时谈及的。Eismann提出一项技术以利用Flash Player中的多个frames以在部分应用中达到流的目的。查看所有的帖子以更多地了解该技术及关于加快Flex启动速度的建议。

本文来自CSDN博客:http://blog.csdn.net/lihe111/archive/2009/03/31/4038678.aspx

分享到:
评论

相关推荐

    Flex 性能优化常用手法总结

    然而,伴随着Flex应用的增多,其性能优化问题也日益凸显,尤其是在带宽有限的环境下,如何提高Flex应用的性能,减少加载时间,优化用户体验,成为了一个重要课题。 首先,从外部加载媒体资源是一种常见的优化手法。...

    转正工作总结

    Flex性能优化常用手法总结可能包括以下几个方面: 1. **减少重绘和重排**:尽量避免不必要的组件更新,因为这会导致整个UI的重绘和重排,消耗性能。 2. **优化数据绑定**:避免使用实时数据绑定,考虑使用变更侦听...

    Flex 性能优化全集

    ### Flex性能优化全集 #### 引言 随着技术的发展,用户对于应用程序的要求越来越高,不仅在功能上有所期待,更注重应用的响应速度与流畅度。Adobe Flex 是一款用于构建和部署跨平台富互联网应用程序的强大工具,...

    flex builder 优化

    flex builder 优化

    flex学习笔记 flex学习总结 flex学习教程

    9. **Flex性能优化**:学习如何通过优化组件使用、减少网络请求、缓存策略等方式提升Flex应用的性能。 10. **实践项目**:理论学习后,通过实际项目练习,将所学知识应用于实践中,是巩固和提高技能的最佳方式。 ...

    flex性能测试PPT

    【Flex性能测试】是针对基于Flex技术构建的富互联网应用程序(RIA)进行的性能评估过程。Flex是由Adobe公司开发的一种支持RIA开发和部署的技术,它主要用于创建具有高度交互性和动态用户体验的企业级应用。Flex的...

    flex编译优化方法

    Flex编译优化方法是提升开发效率的关键,尤其是在大型Flex项目中,编译时间长和Eclipse性能问题可能严重影响开发流程。以下是一些针对Flex编译慢的优化策略: 1. **关闭不必要的项目**:在Eclipse中,确保只开启...

    flex 性能,查看内存

    Flex应用通常涉及大量的交互和动态数据处理,因此性能优化和内存管理是开发过程中的关键环节。以下是对Flex性能优化和内存查看的深入探讨: 1. **Flex性能优化**: - **代码优化**:减少不必要的计算,避免在循环...

    flex瘦身优化之我见(内部资料)

    【Flex瘦身优化】是针对Flex开发中遇到的项目体积过大的问题进行的一系列优化措施,主要是为了减小Flex应用程序的发布体积,提高加载速度和用户体验。以下是一套可行的优化方案: 1. **关闭编译调试信息**: 添加`...

    常用Flex网站常用Flex网站

    总结,Flex作为一款强大的RIA开发工具,虽然面临HTML5的挑战,但在特定领域依然有不可替代的作用。开发者应根据项目需求和技术发展趋势,合理选择技术栈,充分利用Flex的优势,打造出色的Web应用。

    flex优化全集 flex优化全集

    根据提供的标题、描述、标签及部分内容,我们可以总结出与Flex优化相关的多个知识点。这些知识点主要集中在提高Flex应用程序的性能上,涉及代码优化、资源管理、数据处理等方面。 ### Flex优化全集 #### 1. 数组...

    Flex 性能简介.pdf

    ### Flex性能简介:Flex与JavaServer Pages (JSP) 应用程序的比较 #### 引言 随着互联网技术的发展,用户体验与服务器性能成为衡量Web应用程序的重要指标。本篇文章基于一份名为“Flex 性能简介”的PDF文档内容,...

    Loadrunner9.5Flex性能测试[参照].pdf

    【LoadRunner 9.5 Flex性能测试】 LoadRunner是一款强大的负载和性能测试工具,9.5版本对于Flex应用的支持使得它能够对基于Adobe Flex技术构建的Web应用程序进行深入的性能评估。性能测试是确保系统在高并发用户...

    Flex常用教程及库

    9. **最佳实践**:分享在皮肤设计中的一些最佳实践,如保持皮肤可维护性、优化性能和提升用户体验的策略。 10. **常见问题与解决方案**:针对开发者在实践中遇到的问题,提供解答和解决方法。 通过学习这个“Flex...

    flex 使用profile性能分析

    在开发过程中,性能优化是必不可少的一环,而`Flex Profile`就是用于Flex应用性能分析的工具,帮助开发者识别和解决性能瓶颈。 【启动性能分析工具】Flex Profile可以通过Flex Builder的工具栏按钮启动,也可以在...

    Flex开发优化指南

    老外写的Flex优化指南,内容很精彩,不容错过

    FLEX内存释放优化原则

    通过遵循上述内存释放优化原则,开发者可以显著提升FLEX应用程序的性能和稳定性。合理管理内存不仅可以提高用户体验,还能减少开发过程中的调试时间和成本。因此,在开发过程中始终关注内存管理的最佳实践是非常必要...

Global site tag (gtag.js) - Google Analytics