我有自定义的IntentService:
public class CustomService extends IntentService {
// some line of code here
}
我从CustomService
拨打BroadcastReceiver
因为长度不是固定的(根据BroadcastReceiver
的调用频率,所以调用CustomService
有时会重叠。表示一个Service对象在另一个Service对象开始启动时仍然运行。
我的问题是:当另一个CustomService
对象开始播放时,它将等到另一个{I}}对象运行之前。或者它将与其他人同时运行。这一点对我来说很重要,因为如果它们一起工作,由于多线程访问相同的资源,我将遇到一些问题。
谢谢:)
答案 0 :(得分:3)
这意味着当另一个Service对象开始启动时,它仍会运行。
没有。您的CustomService
最多只有一个实例。
当另一个CustomService对象开始播放时,它会等到另一个已经完成,然后再运行。或者它将与其他人同时运行。
如果我们将“另一个CustomService对象”转换为“另一个startService()
调用”,IntentService
一次处理一个命令(Intent
对象)。在Intent
使用您的第一个startService()
完成工作之前,系统不会处理您的第二次onHandleIntent()
来电中的Intent
。