如果您经常(每隔一秒或半秒)发送一次更新服务,那么使用广播与注册监听器(您创建的接口)的优缺点是否存储在服务中的某种列表中以这种方式发送更新?
我在考虑内存使用情况,电池消耗等问题。我知道它有点开放,但是,文档方面并不多,所以它们可以是平等的,但如果有人知道明确答案或者有一些意见,我们将不胜感激。
答案 0 :(得分:3)
根据我的经验,如果您经常发送通知,请选择听众。我已经为同样的事情实现了一些BroadcastReceivers,但是有些消息丢失了。我认为这是因为BroadcastReceivers不会对传入的意图进行排队,而是删除那些到达的同时仍然“与旧的一起工作”。 当然,广播意图可以更轻松,因为您不必连接服务和应用程序的每个收听部分,但在我的情况下(每秒多个消息)听众是正确的选择。
答案 1 :(得分:0)
答案 2 :(得分:0)
无论如何,你应该创建一个BroadcastReciever来获取更新(所以它仍然是一个监听器)。但在这种情况下,操作系统会关注它们,而不是直接从服务中调用侦听器。不确定差异的价值,但是直接呼叫看起来更快,并且从这个pov消耗更少的内存/电池。