Serviceのライフサイクル
Serviceに関して再々勉強したのでメモです。Serviceを立ち上げる時に、以下の事に注意する必要あります。
- Serviceのライフサイクル
 - startServiceした場合とbindした場合の挙動の違い
 - Serviceが落ちる場合の考慮
 
Serviceのライフサイクル
Serviceが落ちることへの対処が一番大変です。リソース不足によるkillもあれば、Task Killer系アプリによるkillもあります。killされると、ServiceはActivityManagerにより自動で再起動されます。しかし、通常のライフサイクルとは別の挙動になります。以下の流れになります。
- Killされます
 - onDestroyが呼ばれません
 - onCreateが呼ばれます
 - onStartは呼ばれません
 
非常に困りますね。
落ちないServiceについて – Android-SDK-Japan | Google グループ で書かれているように、状態を永続化するしか手がないように思えます。
Serviceに関しては、リンクが参考になります。
公式のリンク
一読を
投稿日 2010年09月24日