android之服务service

service的概念:

官方定义:在后台长时间的操作,没有用户界面,不与用户进行交互,在默认的情况下,service运行在应用程序进程的主线程中,如果需要在Service中处理一些网络连接等耗时操作,那么应该将这些任务放到单独的线程中去处理,避免阻塞用户界面。

使用场景:音乐的播放,文件IO流操作,大数据的数据库操作,播放音乐。

 

1)  按home键,服务还在运行。

2) 退出进程,服务不在运行。

3) 服务不是新的进程,也不是新的线程,他是与当前进程绑定的。

 

服务的分类:

一:按照启动方式分:

1) started Service

     1, startService()来启动Service

     2, 一旦启动,就运行在后台,即便启动它的Activity已经销毁。

2) bound Service

  1, bindService来启动Service

  2, 提供服务器端,客户端接口来实现。

  3, 发送请求,得到返回值,甚至通过IPC来实现通信。

二:按照服务性质来分:

1) local service--本地服务

2) Remote service--远程服务

三:按照实现方法来分:

1)java Service

2)native Service

 

服务的生命周期:

一,service在程序清单文件中的配置

2,service生命周期图:

启动service startService(intent);

停止Service stopService(intent);

服务中耗时操作也需要通过子线程去处理耗时操作。

备注:

 1.Service不是一个单独的进程 ,它和应用程序在同一个进程中。

2.Service不是一个线程,所以我们应该避免在Service里面进行耗时的操作

如何停止Service中的线程???

 

一些连接:

service1 : http://blog.csdn.net/guolin_blog/article/details/11952435

service2 :http://blog.csdn.net/guolin_blog/article/details/9797169

 

 

posted @ 2013-11-09 19:07  西北野狼  阅读(186)  评论(0编辑  收藏  举报