1

在遇到 android 的各种挑战(特别是由 AlarmManager 重新创建的服务日志不起作用(或似乎删除了一些行))之后,我正在重新设计我的一些代码以使用广播意图和广播接收器工作。现在,假设您有一个信息源和许多听众。信息源希望在任何时间点仅向其中一个接收者发送信息:

time=1: Broadcaster->Recevier 1
time=2: Broadcaster->Recevier 2
time=3: Broadcaster->Recevier 3

有两种方法可以实现这一点:

  1. 所有接收器都可以使用相同的操作代码,例如“com.me.stuff.INFO_FROM_SOURCE”。这意味着android系统只有一种额外的可能的广播类型来处理,但是信息会发送到每个接收器,每个接收器必须决定信息是否适合他们。

  2. 每个接收器都有自己的代码,例如“com.me.stuff.INFO_FROM_SOURCE_TO_RECEIVER_X”。这意味着 android 系统有更多可能的广播要处理,但只有一个接收器必须处理传入的广播。

总体而言,哪个系统负载最小?

4

1 回答 1

0

我会用第二种方法。br 消息旨在做一件事。我想你可以在意图包中有一个不同的动作,但是当你可以按动作过滤时,这似乎是一个不必要的步骤,它意味着过滤的方式。

您可以为多个操作使用相同的接收器过滤器,然后在您的 onReceive 上,放入一个 if 语句来检查所有可能的操作。

于 2013-03-27T15:36:46.280 回答