android service的生命周期
android的service的生命周期与activity类似,但是有一些不同:
onCreate和onStart的不同
service可以通过客户端调用Context.startService(Intent)启动。如果service还没有运行,则android先调用onCreate方法然后调用onStart方法。如果service已经运行,则通过一个新的intent调用onStart方法。所以,一个service的onStart方法可能会重复调用多次。
onResume, onPause和onStop不再需要
..
onBind
如果客户端需要和service保持连接,可以调用Context.bindService方法。如果此时service未运行,将调用onCreate而不是onStart方法。作为替代,调用onBind方法,将返回给客户端一个IBind接口实例,用于客户端进一步的调用service。
onDestory
android终止一个service可能是:
- 没有客户端绑定该service或者与之相连的运行的客户端;
- 内存低,如果是这样,android会在内存允许的情况下试图重新启动service
这篇文章上的评论的 RSS feed TrackBack URI