我onreceive方法中对intent传递过来的数据进行处理(耗时未知),处理数据的时候又收到了新广播。 问:会不会出现线程同步的问题,如果有线程安全的风险,如何避免? 一个BroadcastReceiver 对象只有在被调用onReceive(Context, Intent)的才有效,当从该函数返回后,该对象就无效的了,结束生命周期。 因此从这个特征可以看出,在所调用的onReceive(Context, Intent)函数里,不能有过于耗时的操作,不能使用线程来执行。对于耗时的操作,应该在startService中来完成。因为当得到其他异步操作所返回的结果时,BroadcastReceiver 可能已经无效了。
android broadcast 的onreceive
最新推荐文章于 2021-12-23 20:15:38 发布