[英]Android: BroadcastReceiver Time limit
是否为BroadcastReceiver.onReceive方法中运行的操作定义了任何时间限制?
onReceive()
在主应用程序线程上调用,该线程驱动您的UI。 通常,你希望onReceive()
在毫秒内返回,以防你的UI在前台,所以你不要冻结UI(也就是说,有“jank”)。 还有5-10秒的限制,之后Android将基本崩溃您的应用程序。
但是,您无法从onReceive()
可靠地派生后台线程,因为一旦onReceive()
返回,如果您不在前台,您的进程可能会终止。
对于清单注册的接收器,一个典型的模式是让onReceive()
将工作委托给一个IntentService
,它有自己的后台线程,作为一个服务,告诉操作系统你的进程仍在做一些工作,应该让你的过程运行一点时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.