读书频道 > 网站 > 网页设计 > Windows运行时编程权威指南
2.3.1 .appx程序包文件的内容
15-03-31    下载编辑
收藏    我要投稿   

本文所属图书 > Windows运行时编程权威指南

《Windows 运行时编程权威指南》分为两部分,共11章:第一部分(第1~3章)囊括了所有WinRT和Windows应用商店应用开发人员必须了解的重要概念,包括WinRT 类型系统及其设计原则、异步调用、程序包文件,以及应立即去当当网订购
如果查看“创建应用程序包”向导生产的目录,你将会看到类似于表2.4列出内容的文件。




.appx文件和.appxsym文件其实就是ZIP文件。实际上,你可以将这些文件的扩展名修改为.zip以便检查它们的内容。表2.5显示了某个.appx文件的内容。从该表中,你可以看到这些文件与你的项目的文件夹结构类似,都包含Assets和Common等目录。


你可以方便地打开该.appx ZIP文件中的任意文件,因为Visual Studio并未对该文件及其内容进行加密。如果你打开AppxBlockMap.xml,将会看到一份文件清单,以及每个文件对应的64KB压缩块的哈希值和大小。这个AppxBlockMap.xml文件是由MakeAppx.exe实用工具创建的。Windows使用AppxBlockMap.xml文件验证程序包文件的完整性,确保该.appx文件的所有内容在创建之后没有受到任何修改。

AppxBlockMap.xml提供的另一个优秀的特性是差异化下载。在为应用创建新版本时,通常会保留绝大部分已经存在的资产文件,而只修改其中少数几个文件,或者添加一些新的资产文件。当用户安装程序包的新版本时,Windows使用AppBlockMap.xml文件来查看哪些文件发生了改变,并且只下载文件中被更新的部分(块)。这一功能极大地提高了安装应用程序新版本的速度,也降低了网络的消耗,带给用户更加低廉的网络费用。

进一步,如果多个程序包中包含着相同的文件(无论发布者是谁),系统将会知道这些文件已经被安装过了(基于哈希值),因此仅创建该文件的NTFS硬链接。这一功能显著缩短了下载的时间,并能够防止由于多次安装同一文件而造成硬盘空间的浪费。例如,如果多个程序包中包含有相同的SQLite文件和Bing地图文件,这些文件只会被下载一次,并在用户的PC上驻留一次。基于这一原因,开发人员应尝试在多个程序包中使用相同的文件,避免使用仅有几个字节略有改动的一次性版本。

在表2.5中,你可以看到Visual Studio从原始的Package.appxmanifest文件生成的AppxManifest.xml文件。除了少量替换和添加之外,这两个文件的绝大部分内容是相同的。例如,此时<Resources>分区包含了你的应用所支持的语言。此外,扩展SDK程序包的引用被添加到了<Extensions>节点。

除了创建表2.4中展示的文件以外,Visual Studio的“创建应用程序包”向导还生成了一个.appxupload文件。该文件其实就是一个包含.appx文件和.appxsym文件的ZIP文件。你可以借助应用商店仪表盘将.appxupload文件上传到Windows应用商店。



点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站