Android--Activity和Service的具体区别

来源:互联网 发布:js鼠标移动颜色渐变 编辑:程序博客网 时间:2024/05/23 13:24

Android--Activity和Service的具体区别



①从设计的角度来讲:
Android的Activity的设计与Web页面非常类似,从页面的跳转通过连接,以及从页面的定位通过URL,从每个页面的独立封装等方面都可以看出来,它主要负责与用户进行交互。

Service则是在后台运行,默默地为用户提供功能,进行调度和统筹。如果一棵树的地上部分是Activity的话,它庞大的根须就是Service。Android的服务组件没有运行在独立的进程或线程中,它和其他的组件一样也在应用的主线程中运行,如果服务组件执行比较耗时的操作就会导致主线程阻塞或者假死,从而无法响应用户的操作。
因此,耗时的操作不要放在UI线程中,因为UI 5S,广播10s就阻塞了,会引发ANR。


②从使用的角度来讲:
 Service不仅可以给Activity建立双向连接,为Activity提供数据和功能支持,也可以单向接受Intent的请求,进行数据的分析处理和功能调度。

③从扮演的角色来讲:
Activity的功能比较单一,主要就是显示应用所具有的一些功能,帮助用户与应用进行交互,像一个人的脸。而Service可能扮演功能调度者也能扮演功能提供者,从触发器收集信息进行分析和处理,然后更新界面,修改数据或进行其他操作时是一个功能调度者,从输入法的选择考虑Service扮演的就是一个功能提供者。View组件是Android中用户能够实实在在看到的部分,如按钮,输入框等就是继承自这个类,View只有装入Activity这样的容器中才有意义,而反过来
Activity装入了这些View后才能够成功完成与用户交互的任务,但是Service不需要这些花哨的东西,只需要默默地等待事件发生或者听候差遣。 


0 0
原创粉丝点击