設定アプリでも当たり前のように出てくる「バックグラウンド」という言葉。アプリの動作に関連するもので、背景とか基盤といった意味合いだろうと察しはつくにしても、モヤモヤした気になるかもしれません。

iPhone/iOSにおいてバックグラウンドとは、画面に表示されていない、ユーザーの目に入らない状態をいいます。一方、画面に表示されユーザーが目にするアプリはフォアグラウンドの状態です。iOSでは複数のアプリを起動して切り替えながら使用しますが、これを「フォアグラウンドとバックグラウンドで切り替える」と言い換えることもできます。

当初のiOSは、処理性能の都合などから、一部の例外を除き「フォアグラウンドのアプリだけ内容を更新する」という制限がありました。しかし、ハードウェアの性能向上により、現在ではバックグラウンドのアプリにも内容の更新を許可しています。iOSでは1つのアプリが画面全体を占有するため気づきにくいものの、見えないけれど動作し続けているアプリが複数存在するのです。

動作し続けているから次回フォアグラウンドに戻したとき最新情報を表示できるわけですが、多数のアプリがフォアグラウンド時と同様に全力動作していてはバッテリーがいくらあっても足りません。そこでiOSでは、動作を実行するタイミングをシステムが判断、状況に応じてバックグラウンド処理を許可するルールを採用しました。内容も位置情報の取得やプッシュ通知など比較的軽い処理に限定することで、負荷軽減を図っています。

ちなみに、実際にどのようなアプリがバックグラウンドで動作しているかは、「設定」→「バッテリー」画面で「アクティビティを表示」を表示すると確認できます。アプリ名の横に「画面上」とあるのは対象期間におけるフォアグラウンド動作時の、「バックグラウンド」とあるのはバックグラウンド動作時の分数を意味しています。

  • アプリのバックグラウンド動作とは