Windows 8 allows for its Metro style applications to stay suspended in the memory of a PC when not in use. That means that when a user wants to restart a Metro app, it should begin again with almost no lag. In the latest update to the official Windows 8 blog, Microsoft group program manager Bill Karagounis writes about how the team has designed Windows 8 to reclaim memory on a PC, even with a number of Metro apps in suspended mode.
Karagounis writes that for Windows 8 desktop apps, "Windows will try to keep the most important (frequently accessed) pages of memory in the app’s working set." However, Metro apps have a different way of handling memory allocation. He writes:
Starting with the Windows 8 Consumer Preview, whenever Windows detects memory pressure on the system, it will repurpose nearly all the memory that suspended Metro style apps would otherwise hold onto. Windows 8 can reclaim this memory without having to terminate an app.
The blog entry gets highly technical as Kargounis talks about how Windows 8 is designed to put the whole working set of a Metro app that has been suspended on a disk. He gives an example by using screenshots of the Windows 8 task manager. In the screenshot above, a number of Metro apps are suspended and are taking up memory in a PC that has just 2 GB of RAM.
The next screenshot shows the effects on the PC's memory after Kargounis begins launching even more Metro apps. Windows 8 responded with its new memory allocation feature and emptied the working set of the suspended apps on a disk. The final result was that Windows 8 freed up 250 MB of RAM to run the Metro apps while also keeping the suspended apps in operation.
A Windows 8 app that's suspended on a disk may take a little longer to be restored once a user decides to return to it, depending on how large its working set is. Kargounis says that Microsoft is "...continuing to reduce the amount we have to write to disk for Metro style apps and further optimizing this feature." He adds that suspended Metro apps will close completely if memory usage enters what he calls a "critical" stage.
Image via Microsoft