【问题标题】:What happens with threads spawned by an IntentService when IntentService finishes?当 IntentService 完成时,由 IntentService 产生的线程会发生什么?
【发布时间】:2015-01-29 05:02:16
【问题描述】:

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

问题:数据没有立即存储在 DB 中。但它应该是。而是在 first 完成后处理下一个数据块。

数据块要同步处理。

我的解决方案想法:

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

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

3) 我可以生成一个WorkerThread(或使用ExecutorService)来处理数据。这是我想走的路。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多