短い答え
Roosta はアラームをアプリ内で管理するのではなく、OS に登録します。つまり Roosta が動いているかどうかに関わらずアラームは鳴ります。強制終了したあとも、再起動したあとも、省電力機能がバックグラウンド処理を止めている間もです。
アラームアプリがアラームを取りこぼす理由
アラームアプリがアラームを予約できる場所は 2 つあります。自分自身のプロセスの中か、OS か。この違いは画面上からは見えませんが、あなたが起きられるかどうかを決めます。
スケジュールを自分のプロセスに抱えるアプリ——よくあるのは JavaScript のタイマーやバックグラウンドの処理です——は、その時刻にそのプロセスがまだ生きていることに賭けています。iOS も Android もそれを停止・終了させる権限を持っており、実際に日常的にそうします。メモリが逼迫したとき、アプリが数日放置されたとき、あるいはメーカーの省電力機能が不要と判断したときに。
- アプリ履歴からスワイプで消され、タイマーも一緒に消える。
- アップデート後に夜のあいだ端末が再起動し、アラームを登録し直すものが誰もいない。
- メーカーの省電力機能が、数日放置されたアプリをディープスリープに入れる。
- 夜間にシステムがメモリを回収し、そのプロセスは二度と復元されない。
Roosta はどうしているか
アラームを保存した時点で、スケジュールはそのままプラットフォームのアラームサービスに引き渡されます。その瞬間から所有者は OS であり、Roosta が開いているか、閉じているか、終了させられているかは関係ありません。Android では正確なアラームとして登録され、鳴動中の画面はフォアグラウンドサービスで動きます。iOS ではシステムのアラーム表示を使います。
知っておく価値のある帰結がひとつあります。スケジュールがアプリの外にあるので、翌朝アプリが起動時にクラッシュしたとしても、設定したアラームは設定されたままです。障害の起き方が本当に切り離されています。
Android で確認しておきたいこと
ネイティブ登録は障害のほとんどを消しますが、メーカー独自のカスタマイズは別です。挙動が読めず、ときにプラットフォームの仕様を上書きします。設定を 2 か所、一度だけ確認しておく価値があります。
- 1設定 → アプリ → Roosta → 電池 → 制限なし。
- 2設定 → アプリ → 特別なアプリアクセス → アラームとリマインダー → Roosta を許可。
ヘルプセンターには Samsung、Xiaomi、OnePlus、Huawei それぞれの手順があります。いずれも Android の上に独自のプロセス管理を重ねているメーカーです。

