代码改变世界

随笔分类 - WindowsPhone7

给WP7初学者:《WP7 Dev Quick Start系列视频》

2011-12-11 17:09 by MagicKing110, 1136 阅读, 收藏, 编辑
摘要: 我的《WP7 Dev Quick Start系列视频》上线了,欢迎捧场!这是一套入门教程,完全零起步,针对没有Silverlight基础的WP7开发初学者。欢迎推荐给刚学WP7的朋友! 有基础的朋友就不用浪费时间下载了,这个录的早,不含进阶内容...... http://t.cn/SPQqBn 快速演示系列之WP7 Dev QuickStart:本系列课程主要针对没有Silverligh... 阅读全文

WP7 App性能优化(13):检测应用程序性能(Ⅵ)

2011-01-01 23:41 by MagicKing110, 1537 阅读, 收藏, 编辑
摘要: 逐帧回调示例该示例演示了逐帧回调动画与storyboard驱动的动画的对比。下载示例代码运行此示例,将会看到一个带storyboard动画(运行在构图线程)的小蓝方块,和5个按钮:Add-添加一个1/8屏幕大小、带逐帧回调动画的矩形 Dlt-删除最新添加的矩形 Redraw-P:System.Windows.Interop.Settings.EnableRedrawRegions调试标志开关切换 Cache-切换是否对应用矩形手工应用位图缓存。默认值为true。 Hide/Show-切换屏幕底部按钮的可见性的开关。 要测试此示例,请尝试如下操作:添加几个矩形直到蓝色方块和矩形开始卡屏。 阅读全文

WP7 App性能优化(12):检测应用程序性能(Ⅴ)

2010-12-30 23:31 by MagicKing110, 913 阅读, 收藏, 编辑
摘要: 透视填充率示例 该示例展示了平面投影、透视转换对应用程序性能的影响。设计师创建的XAML经常会包含很多的透视转换用以创建漂亮的视觉效果,但是这会影响应用程序的性能。该示例演示了透视和动画的缓存行为。不带动画的透视转换会自动缓存,因而添加动画不会进一步影响性能。然而,为不带透视转换的矩形添加动画则会影响性能。 下载示例代码 如果你运行此示例,你会看到四个按钮: Add-添加一个随机的矩形 Dlt... 阅读全文

WP7 App性能优化(11):检测应用程序性能(Ⅳ)

2010-12-26 23:22 by MagicKing110, 1746 阅读, 收藏, 编辑
摘要: 填充率测试示例该示例允许你添加和移除移动的矩形以观察对填充率的影响。每个矩形是屏幕的1/8大小,因为应用了动画,所以会表现出纹理。示例代码下载运行此示例,会看到如下三个按钮:Add-添加一个矩形 Dlt-删除一个矩形 Hide-隐藏Hide和Add按钮,将Dlt按钮变为Show按钮 你将在屏幕右上角看到两个数字。第一个数字表示一个单独矩形所占的屏幕像素数,第二个数字表示总屏幕像素数(填充率)。要测... 阅读全文

WP7 App性能优化(10):检测应用程序性能(Ⅲ)

2010-12-26 20:54 by MagicKing110, 1674 阅读, 收藏, 编辑
摘要: 监视填充率填充率是每一帧Silverlight传递给GPU构图的图形表层的像素数目。填充率实质上是GPU工作负载的一个度量。因此,应当随时了解自己的应用程序的填充率,以免其超出GPU的处理能力,而拖慢帧频。当应用程序的帧频超过2屏大小(每屏800*480)时,帧频将会开始降低。通常帧频的降低并不显著,除非填充率超过3.5屏的像素大小。可以通过观察帧频计数器的最后一个数字来判断当前帧频。重要的是要记... 阅读全文

WP7 App性能优化(9):检测应用程序性能(Ⅱ)

2010-12-26 17:05 by MagicKing110, 1657 阅读, 收藏, 编辑
摘要: 启用帧频计数器Windows Phone 模拟器提供了帧频计数器以便于在开发时监测应用程序的性能。要启用帧频计数器,请设置P:System.Windows.Interop.Settings.EnableFrameRateCounter属性为true。该属性也可以通过当前应用程序设置来访问,如下代码所示。Application.Current.Host.Settings.EnableFrameRat... 阅读全文

WP7 App性能优化(8):检测应用程序性能(Ⅰ)

2010-12-26 00:13 by MagicKing110, 2270 阅读, 收藏, 编辑
摘要: 有很多方法监视应用程序的性能并检测性能问题。检测内存占用是其中之一。也可以启用重绘区域着色和视图缓存,从而可视化的监视相关资源的使用情况。也可以打开帧频计数器使其在Windows Phone 7模拟器中可用。帧频计数器使你可以监视应用程序很多不同方面的性能。以下讨论了如何使用这些功能。   监视内存占用 应当在应用程序中监视内存占用。这可以通过在程序中不同的地方调用GetValue(Stri... 阅读全文

WP7 App性能优化(7):其他性能要点

2010-12-25 19:34 by MagicKing110, 2558 阅读, 收藏, 编辑
摘要: 本篇主要讨论影响Windows Phone 7应用程序性能的另外几个要素。包括用户输入、进度条、网络请求等。 用户输入 Windows Phone 7的用户输入包括Manipulation 事件、Mouse事件和Touch 事件。 使用Manipulation 事件代替Mouse和Touch事件 Manipulation 事件是推荐的用户输入处理方式。从性能和硬件兼容性方面考虑,如果没有特... 阅读全文

Windows Phone 7屏幕分辨率之争

2010-12-22 22:16 by MagicKing110, 2904 阅读, 收藏, 编辑
摘要: 今天又看到有两位伙计在社区里争论Windows Phone 7屏幕分辨率的问题。微软已经为Windows Phone 7制订了明确的硬件规范,因此可能对大部分人来说,分辨率这个问题已经不算是个问题,不过对某些人来说,这个问题还真算是个问题(^-^有点绕了)。两个人争论的焦点就是Windows Phone 7到底是否支持HVGA(480*320)的屏幕?我想产生这个争议的来源可能就是微软美国2010... 阅读全文

WP7 App性能优化(6):理解线程

2010-12-20 23:04 by MagicKing110, 2957 阅读, 收藏, 编辑
摘要: Windows Phone 7中的Silverlight图形线程架构特别针对设备做了优化。Windows Phone 中的Silverlight 支持用一个构图线程作为UI线程的附加。要知道如何对Windows Phone 7做性能优化,理解WP7中的两个主线程和后台线程的使用是非常重要的。   UI线程 UI线程是WP7中的Silverlight应用程序的主线程,其功能和Silverlig... 阅读全文

WP7 App性能优化(5):加快应用程序启动速度(下)

2010-12-18 22:46 by MagicKing110, 2098 阅读, 收藏, 编辑
摘要: 有很多途径可以提升Windows Phone 7应用程序载入和启动时的性能。本节将继续讨论这些话题。在《WP7 App性能优化(5):加快应用程序启动速度(上)》一文中,我们讨论了通过使用启动画面 最小化应用程序集的大小 将程序集分解为多个小的程序集 减少构造函数和Loaded事件中代码 等方法加快应用程序启动速度,本文将继续这一话题进行探讨,了解另一些可用于加速程序启动的方法。监控独立存储的使用... 阅读全文

WP7 App性能优化(4):加快应用程序启动速度(上)

2010-12-16 23:31 by MagicKing110, 3415 阅读, 收藏, 编辑
摘要: 有很多途径可以提升Windows Phone 7应用程序载入和启动时的性能。本节将讨论这些话题。使用启动画面应用程序通常需要预加载一些资源以保证应用程序可以启动后这些资源立即可用,即使这会导致在加载完成前应用程序暂不显示。启动画面就是在其他内容还在加载时呈现的一个内容区域。所有的Windows Phone 项目模板都包含一个启动画面图片。其默认文件名为SplashScreenImage.jpg ,... 阅读全文

WP7 App性能优化(3):隐藏与显示对象

2010-12-15 21:58 by MagicKing110, 2170 阅读, 收藏, 编辑
摘要: WP7应用程序中有两种方法可以在屏幕上隐藏对象:使用P:System.Windows.UIElement.Visibility属性(可见性)或使用P:System.Windows.UIElement.Opacity属性(透明度)。理解两种技术的实现机制将更便于在应用程序中优化场景转换的性能。Visibility属性当设置一个元素的P:System.Windows.UIElement.Visibil... 阅读全文

WP7 App性能优化(2):多媒体

2010-12-14 22:03 by MagicKing110, 2284 阅读, 收藏, 编辑
摘要: PC版Silverlight处理多媒体的方式和Windows Phone 7版Silverlight是有所不同的。PC版Silverlight中的T:System.Windows.Controls.MediaElement使用包含在Silverlight安装包中的解码器和处理程序处理多媒体。而WP7版Silverlight中的的MediaElement则依赖于WP7操作系统的硬件解码器和本地多媒体... 阅读全文

WP7 App性能优化(1):图片

2010-12-13 21:59 by MagicKing110, 4159 阅读, 收藏, 编辑
摘要: 在Windows Phone7应用程序中包含图片时有很多的技巧可用以优化性能。本节将讨论这些话题。选择JPG还是PNG格式一个最简单的提高性能的方法就是使用合适的图片格式。Windows Phone 中支持两种图片格式:JPG和PNG。通常,JPG格式解码速度比PNG更快,所以所有情况下都应该优先考虑JPG图片,除非,图片要使用透明的情况,此时必须用PNG,因为JPG不支持透明。选择图片还是XAM... 阅读全文

WP7 App性能优化(0):索引

2010-12-13 21:03 by MagicKing110, 1547 阅读, 收藏, 编辑
摘要: 性能是为Windows Phone 7设备创建应用程序时要考虑的一个重要因素。相对PC而言,Windows Phone 7的CPU及GPU更为有限。为了优化WP7上的Silverlight应用的性能,Silverlight在处理图形和其他对象的方式上都有所改变。尽管Silverlight已经针对WP7做了优化,但是仍需要在SL应用程序中通过一定手段以进一步优化CPU和GPU。这篇文章介绍了一些可以提高SL应用程序性能的方法,同时也包含一些示例代码。这篇文章主要涉及以下内容:图片 多媒体 隐藏与显示对象 加快应用程序启动速度 (【上】、【下】) 理解线程 其他性能要点 检测应用程序性能( 阅读全文

WP7开发解惑(2):如何从安装文件夹拷贝文件到独立存储

2010-12-08 00:36 by MagicKing110, 4930 阅读, 收藏, 编辑
摘要: 很多朋友在论坛发贴抱怨Windows Phone 7中无法将安装文件夹中的文件拷贝到独立存储中。我很理解产生这种需求的来源:很多时候我们希望将自己预先定义好的一些配置文件添加到项目中,然后在用户安装程序后,通过代码将配置文件拷贝到独立存储中;或者在使用一些第三方的基于独立存储的数据库时,也希望能够将预先定义的数据库文件从安装文件夹拷贝到独立存储中。那么这种需求究竟能否实现呢?答案是:完全可以!疑惑... 阅读全文

WP7开发解惑(1):BuildAction之Content与Resource

2010-12-08 00:34 by MagicKing110, 3418 阅读, 收藏, 编辑
摘要: 很多初学Windows Phone 7开发的朋友经常因为资源文件的BuildAction属性设置不当而导致图片无法显示、多媒体文件无法访问之类的问题。在Windows Phone 7中,资源文件的BuildAction属性通常有Content/Resource/None三个可选值,那么究竟设置为哪一个才合适呢?下面我们就这一问题进行简单的探索。疑惑1:BuildAction属性设置为Content... 阅读全文

[图]Windows Phone 7页面区域大小示意

2010-12-08 00:32 by MagicKing110, 825 阅读, 收藏, 编辑
摘要: 正如大家所知,Windows Phone 7手机屏幕都是标准的WVGA(800px*480px)屏幕。但是对于WP7上的应用程序而言,根据页面的System Tray/Application Bar使用情况,实际页面区域大小可能会有多种情况。如下图所示。如上图所示,System Tray高度为32px,Application Bar高度为72px,那么剩余的就是页面区域了。左上图:System T... 阅读全文