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日