AndroidアプリにおけるActivityとは、Java MEにおけるMIDletや、WindowsアプリにおけるFormのような、ユーザーとのインタラクションをサポートする画面表示を持つ基本的なモジュールのことを指します。このウィンドウは画面全体を占めるように提案されていますが、画面の一部だけを占めることも、他のUIの上に存在させることもできます。
Androidアプリケーションは通常複数のActivityで構成され、その中にはユーザーがアプリケーションを起動したときに最初に表示されるUIである「Main Activity」があります。新しいActivityは新しいActivityを開始することができ、新しく開始されたActivityのUIは、新しく開始されたActivityのUIを上書きし、「UIスタック」を形成します。新しく開始されたアクティビティは、前のアクティビティを一時停止します。ユーザーが「BACK」ボタンを押すと、「UIスタック」の一番上にあるActivityがスタックから解放され、新しく起動したActivityのUIが画面に再表示され、このUIに対応するActivityの動作が再開されます。つまり、Activiyには「ライフサイクル」があるのです。
MIDletやWindows Mobileアプリを書いたことがある人なら、上記の「ライフサイクル」をよくご存知でしょう。MIDletにも同様のライフサイクルがあり、Windowsフォームにはロード、アンロード、アクティブなどがあります。デスクトップシステムとは異なり、モバイルアプリは一般的にアプリ自体によって制御されるのではなく、モバイルOSによって制御されます。デスクトップシステムとは異なり、モバイルアプリケーションのライフサイクルはアプリケーション自体ではなく、携帯電話のOSによって制御され、アクティビティは特定の機能を完了するために各ライフサイクルイベントの処理を実装します。例えば、onCreate()イベントでは、setContentView()を呼び出してUIレイアウトを設定します。例えば、onPause()イベントではsetContentView()を呼び出してUIレイアウトを設定し、onPause()イベントではダウンロードを一時停止し、GPSなどを使用し、onResume()イベントではダウンロードを再開し、GPSデバイスを再接続します。