如果您有一个经常(每隔一秒或半秒)发送更新的服务,那么使用广播与注册监听器(您创建的接口)是否有优缺点?那样?
我在考虑内存使用、电池消耗等方面。我知道它有点开放,但是,在文档方面没有太多,所以它们可以相等,但如果有人知道一个明确的答案或有一些输入,不胜感激。
如果您有一个经常(每隔一秒或半秒)发送更新的服务,那么使用广播与注册监听器(您创建的接口)是否有优缺点?那样?
我在考虑内存使用、电池消耗等方面。我知道它有点开放,但是,在文档方面没有太多,所以它们可以相等,但如果有人知道一个明确的答案或有一些输入,不胜感激。
根据我的经验,如果您会经常发送通知,请选择监听器。我已经为同样的事情实现了一些广播接收器,但有些消息丢失了。我认为这是因为 BroadcastReceivers 不会排队传入的意图,而是丢弃那些到达的意图,同时仍然“与旧的一起工作”。当然广播意图可以更轻松,因为您不必..连接服务和应用程序的每个侦听部分,但在我的情况下(每秒多条消息)侦听器是正确的选择。
不要想这些东西,这真的是很少的精力和表现。Broadcasts 和 Listeners 之间的主要区别在于消息的发送方式。如果是广播,您的事件将通过系统,否则他们将直接进入您的班级。
无论如何,您应该创建一个 BroadcastReciever 来获取更新(所以它仍然是一个监听器)。但在这种情况下,os 关心调用它们而不是直接从服务中调用侦听器。不确定差异的价值,但直接调用看起来更快,并且从此 pov 消耗的内存/电池更少。