モダンUIアプリを起動し、別のアプリやデスクトップで実行されている通常のプログラムに切り替えると、最初のアプリはどうなりますか?何か最初のアプリが停止されたことについてですが、実際には確実には分からないことに気付きました。
つまり、SETI@ホーム(ボインク) アプリを一時停止にできますか、それともフォアグラウンドにないアプリは常に一時停止になりますか? 変更できますか? 利用可能なリソース、AC 電源とバッテリー電源での実行などに基づいて変更することは可能ですか?
今朝私は話を聞きました「iPadを探す」アプリのおかげでiPadが回復したのですが、Modern-UIアプリのようなものを書いて、フォアグラウンドアプリとして実行せずに動作させることができるかどうか疑問に思いました。(Windowsサービスなどを書くだけだということは承知していますが、私が尋ねているのはそれではありません。)
答え1
Modern-UI アプリを起動してから、別のアプリまたはデスクトップで実行されている通常のプログラムに切り替えると、最初のアプリはどうなりますか?
アプリは停止状態— タスク マネージャーでリソースを確認できます。
アプリは、使用していないときはパフォーマンスの目的で一時停止されます。一時停止中は、システムの「遅延」(つまり、バックグラウンドで負荷の高いアプリケーションを実行することによる速度低下)を感じることはありません。
Windows 8 は、バックグラウンド アプリがアクティブでないときは CPU をあまり使用しないことを考慮して設計されているため、アクティブなアプリでもシステムのパフォーマンスは良好です。
すべての Metro スタイル アプリは、常に次の 4 つのライフサイクル状態のいずれかになります。
- 走っていない
- ランニング
- 一時停止中
- 終了しました
アプリが状態間を遷移すると、ユーザーに一貫した高パフォーマンスのエクスペリエンスを提供するのに役立つライフサイクル イベントが受信されます。
必要なものを実装するのに役立つ MSDN ブログがいくつかあります。