导航:首页 > 操作系统 > androidservice独立进程

androidservice独立进程

发布时间:2025-05-27 20:10:13

‘壹’ android服务和进程的区别

他们之间的区别:Service很大程度上充当了应用程序后台线程管理器的角色。(如果Activity中新开启一个线程,当该Acitivyt关闭后,该线程依然在工作,但是与开启它的Activity失去联系。也就是说此时的这个线程处于失去管理的状态。但是使用Service,则可以对后台运行的线程有效地管理。)
一个服务不是一个单独的进程。服务对象本身并不意味着它是在自己的进程中运行,除非另有规定,否则它与运行程序是同在一个进程中。
一个服务不是一个单独的线程。Service和其他组件一样,默认情况下,Service中的所有代码都是运行在主线程中。
在android中,为什么不使用后台线程而使用Service? 有3大要点:
1、Service可以放在独立的进程中,所以更安全;

2、使用Service可以依赖现有的binder机制,不需要在应用层面上处理线程同步的繁杂工作;

3、系统可以重新启动异常死去的Service。

说明:进程是由若干线程组成。(线程是进程中的一部分,进程包含多个线程在运行。)

‘贰’ 关于android编程中service和activity的区别

①从设计的角度来讲:
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不需要这些花哨的东西,只需要默默地等待事件发生或者听候差遣。

‘叁’ android守护进程

Android中应该使用Service而不应该使用线程,Android中有提供后台运行的组件,叫Service。

servie是系统的组件,它由系统进程托管(servicemanager);它们之间的通信类似于client和server,是一种轻量级的ipc通信,这种通信的载体是binder,它是在linux层交换信息的一种ipc。而thread是由本应用程序托管。

  1. Thread:Thread是程序执行的最小单元,它是分配CPU的基本单位。可以用Thread来执行一些异步的操作。

  2. Service:Service是android的一种机制,当它运行的时候如果是Local Service,那么对应的Service是运行在主进程的main线程上的。如:onCreate,onStart这些函数在被系统调用的时候都是在主进程的main线程上运行的。如果是RemoteService,那么对应的Service则是运行在独立进程的main线程上。


关于用户线程和守护线程:

在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)

Daemon的作用是为其他线程的运行提供便利服务,比如垃圾回收线程就是一个很称职的守护者。User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon Thread存在了,虚拟机也就退出了。 因为没有了被守护者,Daemon也就没有工作可做了,也就没有继续运行程序的必要了。

阅读全文

与androidservice独立进程相关的资料

热点内容
mt反编译apk加密 浏览:514
标志重捕法标差算法 浏览:205
linux如何卸载jdk 浏览:618
单片机51开发板 浏览:971
绵阳在哪个app查社保 浏览:418
网剧程序员那么可爱女主身世 浏览:809
程序员的一天周报 浏览:97
安卓如何把涂鸦的图片还原 浏览:648
闹钟该怎么加密 浏览:230
编译原理答案第三版第二章 浏览:666
怎么快速把app放在文件夹 浏览:325
怎么截屏截长图安卓 浏览:291
javabean转json 浏览:40
python默认参数排列 浏览:621
官方体彩app下载哪个好 浏览:97
哪个app助农 浏览:202
南宁50m云服务器 浏览:601
查市值用哪个app 浏览:250
小圈app封了这些人去哪里了 浏览:866
开源可商用小程序源码 浏览:875