我有一个IntentService
接收数据并将其写入本地数据库的设备。然后要处理 DB 数据。目前我正在做这一切的onHandleIntent()
方法。
问题:数据没有立即存储在数据库中。但它应该是。而是在第一个数据块完成后处理下一个数据块。
数据块将被同步处理。
我的解决思路:
1)我可以使用 aService
而不是IntentService
. 但是,我想避免这种情况,因为我想避免处理异步的东西。
2)我可以使用两个IntentService
s:第一个接受数据并存储它。第二个读取并处理它。
3)我可以产生一个WorkerThread
(或使用一个ExecutorService
)来处理数据。这是我想走的路。
现在,我的问题是:IntentService
当IntentService
离开它的onHandleIntent()
方法时产生的线程会发生什么?有什么问题可以预料吗?应该使用选项 2) 还是 1)?