在性能方面,将广播(在我这个例子中是ACTION_APPWIDGET_UPDATE)发送到单独的线程中比在UI线程上运行(使用Runnable)更好吗?或者在UI线程上这样做是可接受的做法?
在性能方面,将广播(在我这个例子中是ACTION_APPWIDGET_UPDATE)发送到单独的线程中比在UI线程上运行(使用Runnable)更好吗?或者在UI线程上这样做是可接受的做法?
public abstract void sendBroadcast (Intent intent)
将给定的意图广播到所有感兴趣的BroadcastReceivers,允许强制执行可选的所需权限。此调用是异步的;它立即返回,而您将继续执行,同时接收器正在运行...
正如您所知,BroadcastReceiver.onReceive始终在UI线程中运行。如果您动态注册接收器,则可以指定另一个线程处理onReceive()。这是通过registerReceiver()的Handler参数完成的。
因此,最好还是通过UI使用。