当前位置:编程学习 > wap >>

android的AIDL项目在客户端同时用了startService和bindService


如图的代码,
各位,请问一下,在aidl项目中,客户端项目中开始用了startService来启动服务,它后面又执行了bindService来绑定服务,在android的AIDL项目中都只要通过bindService来绑定服务端的服务就可以了,为什么这里它要在开始时用startService来启动服务,请它这样做是为了什么?为什么它要总时用两个启动方式,这样做有什么好处?如果先用startService启动了服务端的服务(运行了onCreate方法),那么它在后面执行bindService方式时,它还会再一次运行onCreate方法吗? android adil --------------------编程问答-------------------- bind启动是绑定了一个通信信道,用start启动的时候这个信道没有绑定,这样就缺少了交互,而bind起到的作用是让服务和其他组件进行交互的。当你start启动后,走的是onstart方法,当你启动bind的时候,会运行onbind生命周期方法。不会oncreat两次 --------------------编程问答--------------------
引用 1 楼 congjianfei 的回复:
bind启动是绑定了一个通信信道,用start启动的时候这个信道没有绑定,这样就缺少了交互,而bind起到的作用是让服务和其他组件进行交互的。当你start启动后,走的是onstart方法,当你启动bind的时候,会运行onbind生命周期方法。不会oncreat两次

 你说的这个我知道,但他为什么在前后两次启动?如果要绑定直接用bindService不就可以了吗?为什么之前还要startService启动一下? --------------------编程问答--------------------  你多看看这个Service功能就可以了啊,例如onStartCommand()有没有逻辑处理。如果没有的话,这个startService()可能是作者写错了吧。要辩证怀疑地学习。

  有任何疑问,可以在Service里加Log看看。 --------------------编程问答-------------------- onBindService绑定的服务生命周期等同于activity,想让service存活与后台,就必须startService
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,