Androidアプリ開発では、Activity(アクティビティ) というクラスが非常に重要な役割を担います。Javaで言えば「アプリケーションの1つの“画面”に相当するクラス」と考えてください。
■ Activityとは?
Activityは、Androidアプリで ユーザーが操作する1つのUI画面 を表すコンポーネントです。例えば、次のようなものがそれぞれ1つのActivityとして実装されます:
- アプリを起動したときに表示されるホーム画面
- ログイン画面
- 商品一覧や詳細ページ
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
上記のように、Activityは AppCompatActivity
を継承し、onCreate()
メソッドの中でUIを設定するのが基本形です。ここでいう setContentView()
によって、XMLレイアウトとActivityの紐付けを行います。
■ ライフサイクルとは?
Activityはただ1度だけ実行されて終了するわけではありません。ユーザーが別の画面に移動したり、端末を回転させたり、アプリをバックグラウンドにしたりすると、自動的に状態が変化し、それに応じてAndroidが特定のメソッドを呼び出します。
これが Activityのライフサイクル(生存期間) です。
■ 主なライフサイクルメソッド
メソッド | タイミング | 役割 |
---|---|---|
onCreate() | 初回生成時 | 初期化処理(UIセットアップなど) |
onStart() | 表示直前 | UIの表示準備 |
onResume() | ユーザー操作可能になる直前 | アクティブ状態 |
onPause() | 他の画面に遷移するとき | 一時停止(音楽停止など) |
onStop() | 完全に非表示になる時 | リソース解放、保存など |
onDestroy() | 完全に破棄される直前 | 最終的なクリーンアップ |

■ ライフサイクルが重要な理由
Androidはメモリが限られているため、必要に応じてActivityを破棄・再生成します。例えば画面回転をすると onDestroy()
→ onCreate()
と呼ばれることがあります。
このため、次のような考慮が必要です:
onSaveInstanceState()
を使って一時データを保存する- UI初期化やリスナー登録は
onCreate()
やonStart()
に集中させる - 再開時の再描画やリスナー再登録は
onResume()
に任せる
■ まとめ:Javaのmainメソッドとは考え方が異なる
Javaアプリケーションでは main()
が始点であり、終了するまで流れは比較的固定ですが、AndroidのActivityは「状態が変わるたびに再度“呼ばれる”」構造です。
この“呼ばれる”構造を理解することで、画面遷移や状態保存、パフォーマンスの最適化がスムーズになります。