android Service 请教啊
1、假如activityA启动(startService)serviceB,B中的onStartCommand()被调用,不关闭serviceB;然后A有一次srartS...
1、假如 activity A 启动(startService) service B , B 中的onStartCommand()被调用,
不关闭 service B ;
然后 A 有一次 srartService ,这时 service B 会被操作系统重新分配资源吗?
还是 依然使用原先的 Service ?
2、 如果是第二种情况,那么上一次的onStartCommand()还没运行完怎么办呢? 是不是,onStartCommand函数是可以重入的(类似 Windows中的 WndProc()),还是等上个onStartCommand 结束后,在运行下一个? 展开
不关闭 service B ;
然后 A 有一次 srartService ,这时 service B 会被操作系统重新分配资源吗?
还是 依然使用原先的 Service ?
2、 如果是第二种情况,那么上一次的onStartCommand()还没运行完怎么办呢? 是不是,onStartCommand函数是可以重入的(类似 Windows中的 WndProc()),还是等上个onStartCommand 结束后,在运行下一个? 展开
2个回答
展开全部
1、多次通过startService启动同一个Service会怎么工作?
如果该Service正在运行,多次通过startService启动该Service并不会启动多个该Service。只有第一个请求,才会导致该Service被创建,也就是该Service的onCreate()回调函数会被调用;其它的请求只是会调用onStartCommand()回调函数。
2、Started Service的并发性问题
在onStartCommand()返回之前,如果有另外的请求通过startService()函数传递到该Service,该Service会一直等到onStartCommand()返回之后才会再次调用onStartCommand()。
参见我的主页中《Started Service 总结》一文。
-----------------------------------------------------------------------------------------------------
安卓精英团为你解答
安卓精英团欢迎各位精英加入
如果该Service正在运行,多次通过startService启动该Service并不会启动多个该Service。只有第一个请求,才会导致该Service被创建,也就是该Service的onCreate()回调函数会被调用;其它的请求只是会调用onStartCommand()回调函数。
2、Started Service的并发性问题
在onStartCommand()返回之前,如果有另外的请求通过startService()函数传递到该Service,该Service会一直等到onStartCommand()返回之后才会再次调用onStartCommand()。
参见我的主页中《Started Service 总结》一文。
-----------------------------------------------------------------------------------------------------
安卓精英团为你解答
安卓精英团欢迎各位精英加入
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询