当BroadcastReceiver运行时,它运行在哪个线程上,系统范围内还是仅运行您的应用程序?

And*_*ndy 4 android ui-thread broadcastreceiver

我有一个使用BroadcastReceiver的警报,但我对线程有点困惑.我想让它在一个单独的线程上运行,所以它不会导致对其他任何事情没有反应,但是当查看Android Docs时,我仍然不知道是否只有一个主线程,或者每个应用程序都有它的自己的主线程.

例如,如果我的应用程序没有运行,如果每个应用程序运行自己的主线程,那么在BroadcastReceiver中运行单独线程的意义是什么,这意味着我不会影响用户的其他进程.由于我没有运行,不管它做什么都不会伤害.但相反,如果所有应用程序都有一个主线程,那么我需要将操作移动到一个单独的线程.我希望我不是在问一个愚蠢的问题.我只想彻底了解它.提前致谢.

Jus*_*son 8

在浏览Android Developer页面后,我相信BroadcastReceivers在主IO线程上运行.

BroadcastReceivers具有允许的goAsync功能

将与其相关的工作移动到另一个线程的实现,以避免因磁盘IO而导致主UI线程出现故障.

资源