By default, every Windows Phone app and game will be granted 150 MB of RAM to use. If your app uses too much memory, the system will kill it automatically. This process ensures the phone runs stably and fast most of the time. However, with a complex app, it may be hard to keep the phone running smoothly with only 150 MB of RAM. Luckily, you can request more RAM or block lower specs devices if your app cannot run on it.
1. Open the application project that has performance issues in Visual Studio. In this tutorial, I am using Visual Studio 2012.
2. When the project is loaded, expand the project -> Properties folder in the Solution Explorer. If you cannot find the Explorer window, go to View -> Solution Explorer, or press Ctrl + W. In the Properties folder, there will be a WMAppManifest.xml. Right-click on it, and choose View Code. Alternatively, when the xml file is highlighted, pressing F7 will also let you view the code-behind file.
3. When the code-behind window is loaded, scroll down to the bottom of the window, and paste the following.
– If you only want to extend the maximum allowed memory for your app and still support 512 RAM devices, use the following:
<FunctionalCapabilities>
<FunctionalCapability Name=”ID_FUNCCAP_EXTEND_MEM”/>
</FunctionalCapabilities>
This element must be a child of the App element and must be placed under the ScreenResolution element.
– If your app cannot run on 512 RAM devices, then use this:
<Requirements>
<Requirement Name=”ID_REQ_MEMORY_300″ />
</Requirements>
This element must also be a child of the App element. It must be placed under the ScreenResolution element and above the FunctionalCapabilities element (if it exists).
4. Finally, when you have pasted in the code lines, remember to save the project.
5. When your app is available in the Windows Phone Store, 512 RAM devices cannot see it. If they access it by following a specific link, they cannot install it. This process is handled automatically. You do not have to do anything when submitting your app for review.