【发布时间】:2010-03-30 23:12:33
【问题描述】:
我只是想知道如果两个服务意图同时发送到同一个服务会不会有冲突。我的代码如下:
public static class UpdateService extends Service {
@Override
public void onStart(Intent intent, int startId) {
int widgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
UpdateThread updateThread = new UpdateThread();
updateThread.mWidgetId = widgetId;
updateThread.mContext = this;
updateThread.start();
stopSelf();
}
}
假设 UpdateService 同时有两个意图,意图 1 和意图 2。据我了解,只有一个 UpdateService 实例。那么,这两个意图会导致服务代码像下面的工作流一样顺序运行吗?
- UpdateService 启动,即 onStart() 被调用,用于意图 1。
- UpdateService 停止,因为在 onStart() 中调用了 stopSelf()。
- UpdateService 启动,即 onStart() 被调用,用于意图 2。
- UpdateService 停止,因为在 onStart() 中调用了 stopSelf()。
这两个意图是否会导致服务代码(即 onStart())同时运行?我需要在 onStart() 方法定义中加入 synchronized 吗?
谢谢。
【问题讨论】:
标签: android