如何提升Windows Phone App的性能
操作方法
- 01
在Windows Phone开发中要尽早关注程序的性能问题,把性能问题当作一个开发功能来对待,因为这极大地影响着用户体验。用户体验是衡量性能的基本方式,例如App的启动时间,1秒之内算优秀,小于5秒的算还行,大于5秒就别说了。有时候你还得考虑其他不是那么直接影响到用户体验的因素,比如内存消耗,要是App用了太多内存,机器就会变慢。关于怎么样才达到我们对性能的要求,还可以关注一下App的大小。 很多方法可以帮助你提升Windows Phone App的性能,本篇文章不提供完整版本,只提供几种常用的方法。 1.在不必要的情况下,不要使用依赖属性–如果常规属性能够满足需要,那就尽量使用常规属性,提升系统的运行速度。 2.避免使用UI线程–除非是必要情况,否则尽量不要使用UI线程,而是保持UI的响应。 3.尽量不要使用值转换器–值转换器带来的性能影响远远大于使用直接属性值带来的影响。 4.减少外部依赖–尽量避免使用第三方组件,有利于提升系统的运行速度。 5.把图片(数据)放到缓存中–下载外部资源消耗时间,会影响系统的性能。 6.拆分程序集–在不必要的情况下,不要在你的App中加载所有的页面。 7.使用“Boot Loader”–如果你的App很大并且启动时需要进行大量处理,那么请尽量将这些启动步骤分开,这样将大大提高启动时的性能。 8.加载显示同步进行–如果数据量非常大,建议只加载你所需部分数据,不要在把时间浪费在一次性加载全部数据上,让你的用户空等。 9.对数据进行预载–在情况允许的条件下,在用户获取数据之前加载所需的数据,这样可以缩减用户等待数据加载的时间。 10.对数据/模板进行重用(尽量避免加载XAML)–重用模板意味着增加App的效率,避免重载同样的内容。 11.不要使用XAML—这的确很极端,但是使用代码构建UI会比使用XAML为系统提供更好的性能(可以节省下解析的时间)。 12.尽量不要使用XAML–若非必要情况,不要使用XAML。我经常看到一些运行速度很慢的App,它们有一个共同特点:在使用很少的控件就能够解决问题的情况下,它们偏偏使用一些非常复杂而没有使用必要的嵌套控件。 13.避免使用嵌套Margin–这样可以减少布局引擎计算元素位置的计算工作量。 文章中得到的最重要的信息是:优异的性能并不是凭空而得来的,这需要你尽自己所能让Windows Phone用户取得最好的体验。值得注意的是,一些MVVM纯化论者可能会对以下的一些内容提出异议,但是这些规则或方法是由现实世界中的一些体验所得来的,必然有其合理性。