wp中有两个主要线程:一个是UI线程(UI Thread),另一个是构图线程(Composition Thread),另外是后台线程(Background Thread)
1.UI线程
UI线程是Sl for wp的主线程。负责:
1)解析XAML中元素创建对象。2)绘制第一次呈现的视觉效果3)处理回调执行代码
2.构图线程
由UI线程处理的一些工作,提高SL的性能。
1)合成图形纹理交给GUI处理。2)处理简单动画3)处理不透明蒙版or矩形。
3.后台线程
为了避免阻碍UI线程,影响用户的操作,可以在后台线程中去处理一些异步的操作。如 :定位服务 推送通知
Deployment.Current.Dispatcher.BeginInvoke(() => MyThreadChanged(e));
资源优化
1.图片资源 .jpg解码速度快,但不能显示透明.png解码相对较慢,显示透明。 .gif http://imagettools.codeplex.xom
2.使用blend 工具。
3.图像大小一般都限制在2000*2000以内。
4.媒体文件一般都以Content属性打包xap。
5.可控制控件的隐藏Visibility=Collapsed or Opacity=0
6.建议使用Sl toolkit 中的PerformanceProgressBar ,为了将动画从UI线程移动到构图线程里。
其他优化
1.网络请求类优化。如果使用返回的数据去更新在UI线程执行的元素,可使用
Deployment.Current.Dispatcher.BeginInvoke(() => MyThreadChanged(e)); 方法将数据传递到UI线程,实现跨线程操作。
2.初始屏幕。
3./Images/hell.png
4.不要讲本地化资源包含在主程序中,设置多个不同的语音程序集
5.减少构造函数及load事件