保证UI的流畅度,随时保证UI能响应用户输入,快速的页面导航,超爽的滑动与触碰,是成功产品的关键。下面总结WP代码中可以注意的地方,可能会稍稍提高UI的性能。
1. 在导航中,尽量不要把耗时的代码放在OnNavigatedTo(),页面构造函数中,因为代码的执行顺序是,在构造完页面类之后,立即执行OnNavigatedTo()方法,在这个方法结束后,才会显示页面。如果有耗时的操作,尽量放在Loaded事件中。
2. 适当地采用CacheMode = BitmapCache;XAML引擎渲染控件的效率不是很高,尤其在页面比较复杂的时候,重绘更是会很卡性能。UI的重绘打个不算恰当的比喻就是:一张桌子上有一个键盘,键盘上有很多按键,现在你要重绘,重绘的步骤是:先画一张桌子,再画上一个键盘背景,再画各个按键,这样的重绘步骤比较多,性能比较低下。如果使用了CacheMode的话,相当于直接拍张照片,展示出来。
3. 在滑动和触碰时,没必要时时刻刻都更新UI,只在有完成的时候更新,或者隔一段时间再去更新,只要保证UI处于可交互状态。
4. 不要过分依赖Async,Async方法使用多了,也会对UI性能有一定影响:经讨论,造成这种原因的结果跟5有很大关系,因为Async方法相当于另起一个线程,线程过多的话,在各个线程之间切换,对性能有影响。
5. UI的流畅问题最终可能会归结到多线程的问题,尽量控制线程的个数,同4.建议,多用线程池。
6. 使用虚拟化技术。
欢迎大家补充
其他更牛逼的文章请戳下面:
http://www.cnblogs.com/magicboy110/category/273969.html
http://www.189works.com/article-70936-1.html
以后会不定时更新,在项目中应用这些技术,及性能问题