画面からアプリを閉じても、通知が届くことがあります。
この記事で得られる視点
いま何を扱うか
この記事では、「閉じたのに動く」という違和感を、画面とプロセスの違いから整理します。
扱うのは次の3つです。
- 画面に見えていない処理があること
- プロセスはプログラムが動いている状態であること
- OSが裏側の動きを管理していること
画面から消えることと、止まることは違う
アプリを閉じると、画面からは消えます。
画面から消えても、中の仕事が完全に止まるとは限りません。
音楽を流す、ファイルを同期する、メッセージを受け取るといった仕事は、画面に出ていなくても続くことがあります。
見えている窓口と、裏で動いている仕事は別に考える必要があります。
プロセスは、動いている最中のひとかたまり
プログラム は手順書で、プロセス はその手順書が実際に動いている状態です。
料理のレシピがプログラムなら、いま台所で料理している作業がプロセスです。
複数のアプリを開くと、そのぶん複数のプロセスが動きます。
プロセスは メモリ を使うので、増えすぎると端末が重くなることがあります。
OSは、裏の動きを制限する
裏で何でも自由に動くと、電池も通信もメモリも使い続けてしまいます。
そこで OS は、裏側で動ける範囲を制限します。
通知だけ受け取る、決まった時間だけ同期する、画面を閉じたら止める、といった管理をします。
これは不便にするためではなく、端末全体を安定して使うためです。
つまずきやすいところ
- 画面から消えたら完全停止だと思ってしまう
- 通知が届くのはアプリがずっと前面で動いているからだと思ってしまう
- 端末が重いとき、見えているアプリだけを見てしまい、裏のプロセスを考えない