[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記憶體使用量,除非是256MB以上的裝置)

事情是這樣的,由於是第一次寫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

wp8

其中搭載2GB的Phone OS版本要大於等於8.0.10492(已就是說要Update3),更多關於WP8的細節請看這裡

 

WMAppManifest.xml設定

我們只需要找到WMAppManifest.xml檔案,然後以XML編輯器開啟

於</Capabilities>後面加上;


<Requirements>
      <Requirement Name="ID_REQ_MEMORY_90" />
</Requirements>

 

add_ID_REQ_MEMORY_90

 

換句話說也就是告知我的應用程式需要至少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

 


 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝 =)

另外要轉載請附上出處 感謝