Windows 8 のアプリ ライフサイクル モデルでは、ユーザーがどのアプリを実行するか管理する必要がなくなります。また開発者は、アプリがバックグラウンドに存在する場合に、デバイスのバッテリまたはパフォーマンスに影響しない優れたユーザー エクスペリエンスを簡単に作成できます。新しいライフサイクル イベントを使用することにより、画面に表示されておらず、実行したことがないアプリでも、常に動作しているように感じられます。

最近では、すべてのユーザーが未使用のアプリであっても実行したままにすることが多いので、ラップトップ、タブレット、および携帯電話でバッテリが不足気味になります。これが行われるのは、利便性とアプリ間の切り替えの迅速化のためです。

私たちはこうしたことを考慮して、アプリの応答性とバッテリ寿命を維持し、一貫性のある優れたパフォーマンスを提供するために、Windows 8 の Metro スタイル アプリ向けにライフサイクル モデルを開発しました。Metro スタイル アプリはすべて、全画面表示のイマーシブ エクスペリエンスに関係しています。そのために、Windows 8 の新しいライフサイクル モデルでは、フォアグラウンドのアプリに焦点を当てることでユーザーが没入するエクスペリエンスを維持しながら、デバイスの全能力を引き出します。この記事では、ライフサイクル モデルの新しい状態を紹介すると共に、優れたアプリを作成するために必要なことを説明します。

Metro スタイルのアプリのライフサイクル

Metro スタイル アプリは、任意の時点で 4 つのライフサイクル状態 (非実行状態実行状態中断状態、または終了状態) のいずれかです。アプリが状態を遷移すると、ユーザーに対して一貫性のある高パフォーマンスのエクスペリエンスを提供するのに役立つライフサイクル イベントを受け取ります。

次の図は、Metro スタイル アプリが状態間をどのように遷移するかを示しています。

3 つのボックスと、それを結ぶ環状パターンを示す矢印。非実行状態 > アクティベーション > 実行状態 > 中断中 > 中断状態 > 終了中 > 非実行状態” src=”https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/51/31/metablogapi/1563.app-lifecycle_018E5A34.png” original-url=”http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-51-31-metablogapi/1563.app_2D00_lifecycle_5F00_018E5A34.png” width=”700″ height=”399″ /></p>
<p>すべての Metro スタイル アプリは、ユーザーがアプリを起動し、アプリ間を切り替え、アプリを閉じると、それに伴ってこれらの状態を移行します。ユーザーがアプリ間の切り替えを行うと、それに合わせてアプリは<b>実行状態</b>と<b>中断状態</b>の間を頻繁に移行することになります。したがって、アプリではライフサイクル イベントを処理する必要があります。</p>
<p>アプリがライフサイクルの状態間で遷移するときに、ライフサイクル イベントを受け取ります。</p>
<div align=

イベント 遷移元 遷移先

アクティベーション

非実行状態

実行状態

中断中またはチェックポイント (WinJS)

実行状態

中断状態

再開中

中断状態

実行状態