移动应用开发者必读:提升应用性能的13种方式
译者注: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为系统提供更好的性能(可以节省下解析的时间)。
过去,以上这些规则使我深受其益。希望以后,这些规则也能够给你带来帮助。