Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在android应用程序中只使用一个广播接收器吗?_Android - Fatal编程技术网

我可以在android应用程序中只使用一个广播接收器吗?

我可以在android应用程序中只使用一个广播接收器吗?,android,Android,我对广播接收机有点困惑。 作为标题,我认为我的应用程序中不需要另一个广播接收器 或者,如果我在我的应用程序中使用了一堆BroadcastReceiver,是否有问题? 我认为这会影响我的操作系统执行内存和性能,对吗 感谢您的时间和热情。您可以在应用程序中声明任意数量的广播接收器。它会影响你是否在每次接收到的广播中开始进行一百万次长时间的后台操作 但是你计划的应用程序真的需要这些接收器吗 有一些API可以通过编程来启用/禁用声明的接收器,这可能也是一个不错的选择 编辑: 我想如果你自己做一个小测试

我对广播接收机有点困惑。 作为标题,我认为我的应用程序中不需要另一个广播接收器

或者,如果我在我的应用程序中使用了一堆BroadcastReceiver,是否有问题? 我认为这会影响我的操作系统执行内存和性能,对吗


感谢您的时间和热情。

您可以在应用程序中声明任意数量的广播接收器。它会影响你是否在每次接收到的广播中开始进行一百万次长时间的后台操作

但是你计划的应用程序真的需要这些接收器吗

有一些API可以通过编程来启用/禁用声明的接收器,这可能也是一个不错的选择

编辑: 我想如果你自己做一个小测试会容易些

  • 在Eclipse上,创建一个新的Android项目
  • 创建一个扩展BroadcastReceiver的类
  • 保存并关闭它
  • 现在转到清单、应用程序选项卡、应用程序节点、添加按钮、添加接收者
  • 等待Eclipse搜索您的应用程序并找到您刚刚创建的应用程序
  • 在接收器内部放置一个新的意向过滤器。不需要名字什么的
  • 在过滤器内部放置一个动作
  • 在操作名称中,选中下拉菜单
这些都是BroadcastReceiver可能接收到的不同操作。因此,它只是使一些应用程序实现多个接收器变得更简单和更有组织,每个不同类型的操作都有一个接收器。或者可能它只接收两个非常相似的动作,而将它们全部放在一个接收器中更简单


这有意义吗?

一切取决于你。您可以为不同的
意图过滤器设置多个
BroadcastReceiver
,或者使用单个广播接收器处理所有意图过滤器

通常,更好的做法是根据一组意图过滤器定义不同的接收器,这些过滤器应该为一组相关的任务提供功能

就像我说的,一切都取决于你。如果您有大量的意图过滤器,并且希望代码得到正确处理(基于它执行的任务的类似分类),那么就选择多个接收者。否则,在单个接收机中处理几个滤波器是很容易且合乎逻辑的

此外,应用程序的性能不会受到阻碍,因为它取决于接收器中任务的执行,而不是接收器或过滤器的数量


提示:尝试在任何需要执行繁重任务的地方引入
线程:)

认为类应该有一个责任。所以,如果你的广播接收器同时处理<代码> SMS < /代码>和<代码>调用< /代码>意图,那么考虑拥有多个接收器。

谢谢Bundius。我窃取不明白为什么人们在他们的应用程序中使用一个更多的广播接收器。谢谢Waqas ~~这是我的答案。