Serviceの多重起動
Androidはバッググラウンドで動かしたいプロセスはサービスとして起動させることができる。
Serviceがすでに起動している状態で同じサービスを起動したらどうなるんだろう。
簡単に実験するとこんな感じ。
//TestServiceクラスを適当に定義しておく //ManifestにTestServiceを記述しておく Intent intent = new Intent(context, TestService.class); context.startService(intent); context.startService(intent); // 多重起動
これで実行してみたら特に何も言われずにサービスが1つ起動された。
ライフサイクルを表すログを見るとこんな感じ。
service is created service is started service is started
要するにonCreateは初めの一度だけ呼ばれるけどonStartはサービスを起動するたびに呼ばれるらしい。
ちなみに起動していないサービスを終了させてみても何も言われない。
何かログとか吐いてるんやろうか。