如果我啟動一個 Modern-UI 應用程序,然後切換到另一個應用程式或桌面上運行的普通程序,第一個應用程式會發生什麼情況?我聽說某物關於第一個應用程式被暫停,但意識到我並不確定這一點。
我的意思是,你能寫一個SETI@Home(博恩克)應用程式(如果您願意),或者不在前台的應用程式是否會始終被暫停?你能改變這一點嗎?我可以看到根據可用資源、使用交流電還是電池等來改變這一點。
今天早上我聽過感謝“查找我的 iPad”應用程序,一台 iPad 被恢復,並想知道您是否可以編寫一個 Modern-UI 應用程序,並讓它在不運行前台應用程序的情況下工作。 (我知道你只是在寫一個 Windows 服務或類似的服務,這不是我要問的。)
答案1
如果我啟動一個 Modern-UI 應用程序,然後切換到另一個應用程式或桌面上運行的普通程序,第一個應用程式會發生什麼情況?
該應用程式輸入暫停狀態— 您可以在工作管理員中檢查其資源。
當您不使用應用程式時,它們將被暫停,這是為了效能。暫停時,您不會感覺到系統「滯後」(即由於在背景運行密集型應用程式而導致速度減慢)。
Windows 8 的設計理念是,當任何後台應用程式未處於活動狀態時,它不應使用太多 CPU,因此您的系統在活動應用程式中表現良好。
任何 Metro 風格應用程式在任何給定時間都處於 4 種生命週期狀態之一:
- 未運行
- 跑步
- 暫停
- 終止
當應用程式在狀態之間轉換時,它會接收生命週期事件,這些事件有助於為使用者提供一致的高效能體驗。
有一些 MSDN 部落格可以幫助您實現您想要的。