兔子--Service与IntentService的区别

来源:互联网 发布:mysql客户端管理工具 编辑:程序博客网 时间:2024/05/02 23:17

Service的特点:

1.不会专门启动一个单独的进程,与它所在的应用处于同一个进程中。

2,.不是一个新的进程,不能直接处理耗时的操作。


IntentService的特点:

1.会创建单独的线程来处理所有的intent请求。

2.会创建单独的线程来处理onHandleIntent()实现的代码,因此开发者无需处理多线程问题。

3.当所有请求处理完后,IntentService会自己停止后,开发者不用调用stopSelf()方法来停止IntentService。

4.为service的onBind()方法提供了默认的实现,默认实现的onBinder()方法返回null。

5.为service的onStartCommand()方法提供了默认的实现,该实现会将请求Intent添加到队列中。


IntentSevice是service的子类,但是它比Service增加了额外的功能。IntentService弥补了Service的不足之处,

使用队列来处理请求Intent,会开启一个新的进程来处理请求intent。对于异步的startService()请求,IntentService会按

照队列中的次序来处理,该线程保证同一时刻只处理一个Intent。

由于IntentService是开启新线程来处理intent请求,因此,不会阻塞主线程,自己就可以处理耗时的任务。






0 0
原创粉丝点击