にんにんにん

エンジニアな日々を書いていきます

AndroidのActivityについて整理してみる

Androidコンポーネントとして、基本中の基本であるActivity

開発している中で必ずと言っていいほど触るし、目にしない日はありません。

しかし、身近にあるからこそ灯台もと暗し、という訳ではないが見落としがちになります。

今回、そんなわかってそうでわかっていないActivityについて整理してみます。 今回はActivityの概要とバックスタックについて考えます。

Activityとは

developer guideの言葉を借りるならば、電話をかける、メールをするといった、アプリケーションを使ってユーザがしたい操作をユーザができるようにするためのUIを提供するためのアプリケーションコンポーネント

大抵のアプリはこのActivityを複数持っていて、それらは緩やかな繋がりを持っています。(密結合になってはいけない)

ユーザがアプリを起動した時にまず表示されるActivityはMainActivityです。

そこから派生して、各Activityを起動していきます。

バックスタック

画面上から見えなくなったActivityはバックスタックと呼ばれるスタックに積まれていきます。

f:id:moroku0519:20180112093047p:plain

f:id:moroku0519:20180112093047p:plain
バックスタックイメージ

図では、MainActivityにSubActivityが積まれていますが、これはMainActivityからSubActivityを起動した状態です。 起動時にSubActivityがプッシュされて、画面上からはSubActivityが見えています。

バックボタンを押した時などは、SubActivityがバックスタックからポップされて、MainActivityが再び画面上に配置されます。 この辺はブラウザの仕組みに近いかなと。

今回はここまで

次回はライフサイクルについて整理してみます。