当IntentService完成时,由IntentService生成的线程会发生什么?

时间:2014-12-01 08:12:29

标签: android multithreading thread-safety threadpool android-intentservice

我有一个IntentService接收数据并将其写入本地数据库。然后处理DB数据。目前我正在使用onHandleIntent()方法完成所有操作。

问题:数据不会立即存储在数据库中。但它应该是。而是在第一次完成后处理下一个数据块。

要同步处理数据块。

我的解决方案想法:

1)我可以使用Service代替IntentService。但是,我想避免这种情况,因为我想避免处理异步内容。

2)我可以使用两个IntentService:第一个接受数据并存储它。第二个读取并处理它。

3)我可以产生WorkerThread(或使用ExecutorService)来处理数据。这就是我想要的方式。

现在,我的问题:当IntentService离开IntentService方法时,onHandleIntent()生成的线程会发生什么?有什么问题可以预料吗?应该使用选项2)还是1)?

1 个答案:

答案 0 :(得分:0)

Thread生成的

IntentService绑定到IntentService对象(pid)的生命周期。

如果处理应该是同步的,那么你应该选择选项2.