android Service

来源:互联网 发布:linux系统版本查询 编辑:程序博客网 时间:2024/06/03 12:56

android中服务是运行在后台的东西,级别与activity差不多。既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西。你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。


重点在于理解Service的生命周期,启动,绑定,处理连接(正常连接or异常连接,重载ServiceConnection的OnServiceConnected和OnServiceDisconnected),停止。

对于不同的方式(startService和bindService)启动Service有不同的生命周期。

context.startService() ->onCreate()- >onStart()->Service running--调用context.stopService() ->onDestroy()

context.bindService()->onCreate()->onBind()->Service running--调用>onUnbind() ->onDestroy()

直接使用Service有两个不足:

不专门启动一条单独线程,与应用程序在同一线程中;

不是一个新线程,不应该处理耗时的操作。


由此引出了IntentService,继承自Service,

会创建单独的worker线程处理intent请求;

会创建单独的worker线程处理OnHandleIntent()方法实现代码

0 0
原创粉丝点击