译者注:Matt Lacey 从事软件开发行业已有12年之久,他专注于移动和Web开发。近期,他积累了大量基于Windows Phone 7的开发经验。下面的这篇文章是他在开发中积累的一些提升App的性能的经验。这会是一篇使开发人员深受其益的好文章,下面我们就进入正题。
很多方法可以帮助你提升App的性能,本篇文章不提供完整版本,笔者只提供几种常用的方法。
笔者希望你从本篇文章中得到的最重要的信息是:优异的性能并不是凭空而得来的,这需要你尽自己所能让用户取得最好的体验。
值得注意的是,一些MVVM 纯化论者可能会对以下的一些内容提出异议,但是这些规则或方法是由现实世界中的一些体验所得来的,必然有其合理性。
1.避免使用UI线程–除非是必要情况,否则尽量不要使用UI线程,而是保持UI的响应。
2.尽量不要使用值转换器–值转换器带来的性能影响远远大于使用直接属性值带来的影响。
3.在不必要的情况下,不要使用依赖属性–如果常规属性能够满足需要,那就尽量使用常规属性,提升系统的运行速度。
4.减少外部依赖–尽量避免使用第三方组件,有利于提升系统的运行速度。
5.拆分程序集–在不必要的情况下,不要在你的App中加载所有的页面。
6.把图片(数据)放到缓存中–下载外部资源消耗时间,会影响系统的性能。
7.使用“Boot Loader”–如果你的App很大并且启动时需要进行大量处理,那么请尽量将这些启动步骤分开,这样将大大提高启动时的性能。
8.对数据进行预载–在情况允许的条件下,在用户获取数据之前加载所需的数据,这样可以缩减用户等待数据加载的时间。
9.加载显示同步进行–如果数据量非常大,建议只加载你所需部分数据,不要在把时间浪费在一次性加载全部数据上,让你的用户空等。
10.对数据/模板进行重用(尽量避免加载XAML)–重用模板意味着增加App的效率,避免重载同样的内容。
11.尽量不要使用XAML–若非必要情况,不要使用XAML。我经常看到一些运行速度很慢的App,它们有一个共同特点:在使用很少的控件就能够解决问题的情况下,它们偏偏使用一些非常复杂而没有使用必要的嵌套控件。
12.避免使用嵌套Margin–这样可以减少布局引擎计算元素位置的计算工作量。
13.不要使用XAML—这的确很极端,但是使用代码构建UI会比使用XAML为系统提供更好的性能(可以节省下解析的时间)。
过去,以上这些规则使我深受其益。希望以后,这些规则也能够给你带来帮助。
相关推荐
此外,jQuery Mobile还提供了一系列组件,如导航栏、页眉、页脚、页面切换、表单验证等,用于构建完整的移动应用程序。 在实际开发中,你还可以利用数据属性(data-attributes)来控制和定制组件的行为。例如,你...
RocksDB发布了5.15.10版本,专注于性能的提升和稳定性。SQLServer发布了2019公开预览版,为开发者提供了新的数据库管理和分析能力。PostgreSQL发布了11beta3版本,继续完善其开源数据库的性能与特性。Greenplum也...
8. **移动开发**:Flex还支持移动应用开发,通过Flex Mobile SDK,开发者可以创建跨平台的Android、iOS应用,利用相同的组件和编程模型。 9. **学习路径**:对于初学者,建议先从ActionScript基础入手,理解面向...
BREW(Binary Runtime Environment for Wireless)是高通公司推出的一种专为移动设备设计的操作系统和应用程序运行环境。它提供了一个标准化的开发平台,使开发者能够为各种不同类型的手机创建和部署应用程序。以下...
6. **《Java性能优化权威指南》**:深入探讨Java性能调优,对于提升应用性能非常有帮助。 7. **《Oracle JDBC Developer's Guide and Reference》**:了解Java数据库连接(JDBC)的最佳资源。 8. **《Spring in ...
《Android开发精要》是Android开发者必读的经典之作,作者范怀宇是一位在移动开发领域具有深厚造诣的专家。这本书全面且深入地探讨了Android应用程序开发的关键技术和实践方法,旨在帮助读者掌握Android开发的核心...
这对于创建Web服务、移动应用后端以及实现前后端分离的现代应用尤为重要。 4. **异步编程**:为了提高服务器性能,MVC4支持异步操作,如异步控制器方法和异步视图渲染,从而显著提高响应速度。 5. **集成测试工具**...
**Ajax实战中文版.pdf**是一本深入探讨Ajax技术的专业书籍,适合希望提升Web开发技能的开发者阅读。Ajax,即Asynchronous JavaScript and XML(异步JavaScript和XML),是一种创建动态网页的技术,它允许在不重新...
通过集成友盟SDK,开发者可以获得有关应用性能、用户行为等数据,以优化产品并提升用户体验。 3. `友盟统计常见问题(开发者必读).url`:这个链接可能包含开发者在使用友盟服务时可能会遇到的问题及解答,对于解决...
Java 2 Micro Edition(J2ME)是一种针对嵌入式设备和移动设备的Java平台,主要用于开发移动应用程序,包括手机游戏、应用工具等。这里提到的四份J2ME资料,是基于作者的学习经验筛选出的必读书籍,旨在帮助读者深入...
它具有平台无关性、安全性、可移植性和高性能等优势,广泛应用于服务器端开发、移动应用、大数据处理等多个领域。 2. **Java环境搭建**:学习Java首先需要安装Java Development Kit (JDK),配置好环境变量,包括...
7. **性能优化**:提供关于优化代码、减少内存占用和提升应用性能的技巧。 《Xamarin iOS开发实战(上册)试读》作为入门资料,旨在为开发者建立坚实的基础,使他们能够理解和掌握使用Xamarin进行iOS应用开发的关键...
通过ASP.NET,开发者可以使用多种编程语言(如C#或VB.NET)来创建动态网页、Web服务和移动应用。 书中可能涵盖的知识点包括: 1. **ASP.NET基本概念**:介绍ASP.NET的架构、生命周期以及页面间通信机制,帮助初学...
【标题】:“Android安卓网上商城系统毕业设计” 【解析】: Android安卓网上商城系统是一个基于Android平台的电子商务...通过这样的实践,学生能够深入理解移动应用开发的全过程,并为未来的职业生涯打下坚实的基础。
【Android 机顶盒直播点播时移回看源码】是针对移动设备,如手机、平板以及电视等,实现视频播放功能的一款软件应用。它不仅支持即时观看直播节目,还具备时移和回看的功能,使用户可以自由选择播放时间,增强了观看...
无论是桌面应用、Web应用还是移动应用,都能从中受益。配合提供的解决方案文件(如Zack.DotNetTrimmer.sln),开发者可以方便地将此工具集成到自己的开发流程中,实现自动化优化。 文档方面,`README_ZH_CN.md`和`...