2010年1月17日日曜日

Android Serviceで困ったこと2

前回のの続き

ええ、マニュアル読めってことで完了します。
何がって、サービスのライフサイクル。
bindService で起動されたサービスと startService で起動されたサービスのライフサイクルが異なることをソース書いて気がつきました。

基本以下のようです。

  • bindService で起動 → bindしているアプリ全てが unbind したら終了
  • startServiceで起動 → stopService or stopSelf で終了
ただし、startService で起動しようとも、bindすることは可能であり、stopを呼んでもbindしているやつがいる場合は終了できません。

なので、とにかく常駐させたい場合はstartServiceで起動するしかなさそうです。
やっぱりマニュアルは読まないとね。
まあ、言い訳するならば、「自分でソース書いてあちこちにログがけして、サイクルを学ぶことには意味がある!」ってことにします。
http://developer.android.com/intl/ja/guide/topics/fundamentals.html

0 件のコメント:

コメントを投稿