事情是這樣的,由於是第一次寫Windows Phone程式並做送審上架的動作,所以有很多規範都不清楚,於是這次被退回來的錯誤中就是5.2.5這條
「An app must not exceed 90 MB of RAM usage, except on devices that have more than 256 MB of memory 」
如果在開發時,開發的又是遊戲的話,使用率超過90MB基本上是挺容易的,特別是開發3D遊戲,在這種情況下我們即便做資源釋放可能也仍會超過
該如何是好呢?
前言
事情是這樣的,由於是第一次寫Windows Phone程式並做送審上架的動作,所以有很多規範都不清楚,於是這次被退回來的錯誤中就是5.2.5這條
「An app must not exceed 90 MB of RAM usage, except on devices that have more than 256 MB of memory 」
如果在開發時,開發的又是遊戲的話,使用率超過90MB基本上是挺容易的,特別是開發3D遊戲,在這種情況下我們即便做資源釋放可能也仍會超過
該如何是好呢?
讓我們來看看,快速的解決辦法
設定應用程式只能在超過256MB記憶體的的手機上做市集下載(Setting your App to opt from 256MB)
首先,我開發的遊戲是WP7.1,所以如果在WP7的手機上可能才會遇到這個問題
一般而言,所謂Windows Phone的lower-memory device:
Windows Phone | lower memory | App Limit memory |
OS 7.1 | 256 MB | 90MB |
至於Windows Phone 8,一般而言所謂的lower-memory device是指512MB,而限制是150MB
不過Windows Phone8還會看裝置的配備與開發的APP類型、與裝置持有的記憶體有不同的限制,如下(擷取自Windows Phone 8 MSDN圖片)
這邊的lower-memory phone應該是指512MB
其中搭載2GB的Phone OS版本要大於等於8.0.10492(已就是說要Update3),更多關於WP8的細節請看這裡
WMAppManifest.xml設定
我們只需要找到WMAppManifest.xml檔案,然後以XML編輯器開啟
於</Capabilities>後面加上;
<Requirements>
<Requirement Name="ID_REQ_MEMORY_90" />
</Requirements>
換句話說也就是告知我的應用程式需要至少90MB的記憶體使用空間,也就是說在256MB上的手機將會無法下載執行
如此便可以了!
參考資料
Opting your app out from Windows Phone with 256 MB
Developing apps for lower-memory phones
App memory limits for Windows Phone 8
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝 =)
另外要轉載請附上出處 感謝