最近看到Nokia Lumia 520 和 720 即将上市的消息在网上热议,相信这两款手机会以更亲民的价格快速进入市场,随之开发者一定会关心到的一个问题是由于硬件的差异我们在开发过程中需要注意或者做哪些更改呢?今天我跟大家聊聊在硬件功能受限的设备上开的一些注意要点。
首先说下内存
明确两个名称“低内存设备”和“高内存设备” MSDN上的解释是 1GB 以上内存的手机称之为高内存设备,也就是说1GB是这两种设备的分水岭。

通过上图可以看到在我们的一般应用中 低内存设备内存限制是 180MB,高内存设备是380MB。
当然如果你想让你的应用一些功能只运行在高内存的设备上,得到一个最佳运行效果通过代码是可以判断实现的:
当然这里的 94371840L 是一个阀值 也可以自己设定。
参考 :http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/hh855083(v=vs.105).aspx
另外 我也也可以在低内存设备上申请更多内存的使用空间(如果你需要)

以上这段代码演示了如何使用 ID_FUNCCAP_EXTEND_MEM 在低内存设备上当应用内存使用超过180MB后不强制退出。
并且声明了ID_REQ_MEMORY_300 表示次应用不会被低内存设备搜到以及禁止被安装。
如果你想在你的应用中减少内存使用可以注意以下事项:
硬件要求了解应用清单文件:
要修改清单文件,您可以使用清单设计器。但是,在某些情况下您还必须手动编辑文件的 XML 内容。例如,当以下任意条件为真时,您必须手动编辑 XML:
清单设计器有四个页面:
应用程序 UI 没有什么特别都样。
功能页面:这里面的是声明你的应用程序会涉及到那些API的使用,在此声明后才可以在应用中使用,否则该功能会在设备中禁用。
硬件要求和确定功能列表请参考:
硬件要求 http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206936(v=vs.105).aspx
功能列表 http://msdn.microsoft.com/en-us/library/windowsphone/develop/gg180730(v=vs.105).aspx

这里的选项会显示在应用商店的提示中,例如:此应用会获取你的地理位置信息,获取你的通讯录信息,更改你的锁屏图片等...