使用 Windows Azure 与 Windows.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用 Windows Azure 与 Windows

使用 Windows Azure 和 Windows 原文链接:Diaz和Max Zilberman 在过去30年,我们经历了计算机硬件行业的爆炸式增长。从大型机到台式机再到手持设备,虽然硬件的体积缩小了,但功能却越来越强大。开发人员在某种程度上有点被计算能力的这种持续增长宠坏了,现在他们希望自己为其编写应用程序的每台设备都拥有无限的计算机资源。过去,代码的大小和效率曾经是编程的重要考虑因素,很多年轻的开发人员对这段历史没有任何印象。 最新的开发趋势是追随智能手机日益流行的脚步。在为智能手机设备编写代码时,许多开发人员必须适应这样一个现实:尽管今天的手机功能要比几年前的设备强大很多,但还是面临限制。这些限制与大小、处理器能力、内存和连接性有关。您需要了解在创建移动应用程序时如何突破这些限制,从而确保提供良好的性能和最佳的用户体验。 导致应用程序的性能不甚理想的某些原因与开发人员糟糕的设计决策有直接的关系。但在其他情况下,其中有些因素不受开发人员的直接控制。第三方服务较慢或脱机、移动宽带连接断开或您所处理数据的特性(如流媒体文件或大型数据集)可能会导致应用程序性能较差。 无论原因是什么,应用程序最终用户感知的性能必须是任何软件开发人员所关注的头等大事之一。在本文中,我们将介绍一些有关以一种可提供完美用户体验和轻松缩放功能的方式设计可靠的数据驱动Windows Phone 7应用程序的首要注意事项。 让我们先花一点时间设置一种方案,我们可以在这个方案中考察一些设计和编码选择。举个例子,我们将使用一个虚构的旅行信息应用程序,该应用程序提供有关用户选择的航班的信息。如图1所示,该应用程序的主屏幕上显示一些数据元素,包括当前的天气和航班状态。您可以看到,随着应用程序变得更具表现力且越来越以数据为中心,开发这样的应用程序也变得更具挑战性。在越来越多的方面,您的代码已经无能为力了。 图1航班信息示例应用程序 UI线程阻塞 首先,我们来看一下UI。如果像对台式机编码那样设计应用程序,那么很容易就会将模式搞错,因此让我们先了解一些手机特定的UI问题。 当应用程序未按预期对用户命令做出响应时,此时给整体用户体验带来的影响是显著的。对滑擦、点按或挤压操作响应缓慢可能会对应用程序的整体吸引力不利。但这些是可以预期并解决的相当简单的问题,正如您将要看到的。 考虑使用ListBox。当ItemTemplate包含图像或从源加载数据时,UI线程很有可能将被阻塞,UI在请求或计算完成前将一直暂停。因此,当您开发UI时,一种方法就是在UI线程外执行长时间计算(包括WebRequest)。实际上,这对任何应用程序(移动或非移动)来说都是一种好方法。 当您将大量的项目绑定到ItemSource而对注入ListBox控件的项目数没有限制时,也可能会产生性能问题。一种更好的方法是绑定一个ObservableCollection,然后每隔20至30毫秒向该集合填充一些项。这将解除UI线程的锁定以响应用户。 在我们的示例应用程序中,我们还在屏幕上使用了大量图像。ListBox需要实际下载图像才能显示相应数据。这种方法看似不错,但在UI线程上执行此工作将阻止用户进行任何手势输入。在后台线程上加载图像将解决很多内存要求和释放UI线程方面的问题,同时也使应用程序速度加快。 必须呈现我们向用户显示的全部内容。呈现需要布局、对齐和计算才能正确显示。随着越来越多的层添加到UI中,计算和整体呈现成本也随之增加。尽管Silverlight已虚拟化UI,但未虚拟化要绑定的数据。这意味着,如果我们将10,000个项目绑定到ListBox,Silverlight将需要实例化所有10,000个ListItem,然后它们才会呈现出来。 请注意您正在数据绑定的项目并保持绑定集尽可能小。如果需要处理大型数据绑定项目集,请考虑在后台动态处理呈现。当然,桌面应用程序同样如此,只是这些选择的影响在手机上有所扩大而已。 ValueConverter可能会对呈现性能产生巨大的影响,因为它们是使用自定义代码定义的,无法在实际元素呈现和布局之前预先确定和缓存呈现。 处理数据 接下来,我们需要讨论Windows Phone 7中的数据存储。让我们直奔主题:没有任何关系数据库引擎可供开发人员使用。SQL Server Compact(SQL CE)随Windows Phone 7操作系统一起安装,但当前没有任何API可供开发人员使用。因此,创建一个数据库用来存储应用程序数据(在我们的示例中为旅行信息)行不通。 也就是说,可使用各种不同的选项使数据进出我们的应用程序。常用方法是使用云服务(如Windows Azure)来持久保留数据。用于生成应用程序的服务层的技术有很多,REST和SOAP是最受欢迎的。很多开发人员都首选

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档