android代码执行adb 既然android service是执行在主执行绪中的,那service还有什么用
既然android service是执行在主执行绪中的,那service还有什么用
既然android service是执行在主执行绪中的,那service还有什么用
service 可以指定执行在非UI所在的程序的啊。
service主要是用来在后台干事情的,UI退出了,service还在做事,这个程序是不会被结束掉的啊。

你没有将android 元件和android C/S架构的概念理解清楚,不仅没有理解清楚,还把元件的概念,跟执行绪、程序混淆在一起了。 我将android比喻成一栋办公大楼,android 中程序就是一个办公室,执行绪就是办公室里面的员工,办公室是不能干活的,而真正干活的是这个办公室里面的员工。一个员工只能在一个办公室里面干活,而一个办公室可以有很多员工。 Android的老板希望它的公司能办理的井井有条,于是针对每一种职能专门设立管理部门,例如WMS,负责视窗管理的,例如MPS,负责多媒体播放的。 一个部门可以有一个或多个办公室,一个办公室也可以有多个部门。 而android的管理部门往往是不干什么实事的,就像我们的天朝的猿类,你推它一下,它才动一下。所以android需要一些干实事的部门,做对外客户的,这些部门我们统称为apk。Android中有好多这种部门,于是为了防止这些部门瞎干,又把部门分成Activity、Service、BrocastReceiver、ContentProvider四种子部门,这些子部门就是用来跟其它部门做沟通的,而所有的子部门运作时都会由大管家AMS来记录在案。 Activity,做门面的。 Service,做对外支援的。 BrocastReceiver,做门卫收信的。 ContentProvider,做仓库管理的。 做门面的,可以做对外支援的活,也可以做仓库管理的活。但是外面可不这么认为,它想找你要资料,只会找ContentProvier,找对外支援只会找Service。 另外AMS大管家有个不好的习惯,它为了节省公司的资源,AMS那里没有你这个apk任何部门执行记录的时候,它有可能把你的电关了(杀程序)。 而LZ你描述的问题呢,就是你的部门想下载东西,是由Activity子部门去干呢,还是Service去干。
android service是执行在主执行绪吗
是的,所以如果你要做网路请求的话,即使在服务里也用在子执行绪里操作
否则会卡主介面
service的onXxx方法都是在主执行绪的
startservice bindservice等都是非同步的,立即返回
同一个application中的activity和service执行在同一个程序的主执行绪中?
不是一个执行绪吧,service执行在后端单独执行绪中,但如果应用程式都停止了,那么所有执行绪都会停止的
怎么确保 handle 执行在主执行绪中
public class ThreadTest { static int i=0; public static void main(String[]args){ 建立3个子执行绪,以i,i,n,m作为子执行绪是否结束的判断 当所有子执行绪执行完才开始主执行绪 System.out.println("主执行绪开始"); Thread t1=new Thread(){ pub...
android service执行在哪个执行绪
Service:Service 是android的一种机制,当它执行的时候如果是LocalService,那么对应的 Service 是执行在主程序的 main 执行绪上的。
service作用能够为你执行的任务新增优先顺序。优先级别,依次减弱。前台程序,可视程序,次要服务程序,后台程序,内容供应节点,空程序。还可以做远端服务(AIDL) 检视原帖>>