提升Windows Phone APP性能的13种方式

移动开发
Matt Lacey从事软件开发行业已有12年之久,他专注于移动和Web开发。近期,他积累了大量基于Windows Phone 7的开发经验。下面的这篇文章是他在开发中积累的一些提升App的性能的经验。

Matt Lacey从事软件开发行业已有12年之久,他专注于移动和Web开发。近期,他积累了大量基于Windows Phone 7的开发经验。下面的这篇文章是他在开发中积累的一些提升App的性能的经验。这会是一篇使开发人员深受其益的好文章,下面我们就进入正题。

Windows Phone 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为系统提供更好的性能(可以节省下解析的时间)。

过去,以上这些规则使我深受其益。希望以后,这些规则也能够给你带来帮助。

原文链接:http://mobile.dzone.com/articles/13-ways-improve-performance

【编辑推荐】

  1. WP7开发中自定义事件的处理
  2. 详解Windows Phone开发中的墓碑机制
  3. Windows Phone游戏性能优化之垃圾回收
责任编辑:王晓东 来源: Web App Trend
相关推荐

2013-06-17 17:08:47

Windows PhoWP开发共享数据方式

2023-09-07 11:29:36

API开发

2022-08-05 08:27:05

分布式系统线程并发

2012-05-19 22:24:34

MVVM

2017-06-22 08:58:06

2017-01-13 16:27:35

大数据数据驱动决策思维方式

2013-08-09 09:52:46

Windows Pho苹果iPhone

2013-04-17 13:20:04

Windows PhoWindows Pho

2012-04-26 13:28:28

2013-08-12 10:32:13

Windows PhoiPhone途径

2020-06-17 08:12:05

Kubernetes容器

2013-08-07 10:19:11

Windows phoWP应用开发套件StuWindows Pho

2013-10-17 09:25:52

2020-11-20 14:02:22

HashMap遍历Java

2012-05-21 10:35:20

Windows Pho

2012-02-03 08:58:33

Windows PhoNFC

2018-01-02 15:34:47

2024-08-27 09:38:08

2015-07-09 16:34:36

BYOD自带设备

2013-06-08 14:57:50

点赞
收藏

51CTO技术栈公众号