我对BroadcastReceiver感到困惑。作为标题,我不认为我的应用程序需要另一个BroadcastReceiver。我可以在我的android应用程序中只使用一个BroadcastReceiver吗?
或者,如果我在我的应用程序中使用一堆BroadcastReceiver,是否有什么错误? 我认为这会影响我的操作系统执行内存和性能,我是对的。
谢谢你的时间和热心。
我对BroadcastReceiver感到困惑。作为标题,我不认为我的应用程序需要另一个BroadcastReceiver。我可以在我的android应用程序中只使用一个BroadcastReceiver吗?
或者,如果我在我的应用程序中使用一堆BroadcastReceiver,是否有什么错误? 我认为这会影响我的操作系统执行内存和性能,我是对的。
谢谢你的时间和热心。
这一切都取决于你。对于intent-filter
的不同组,您可以有多个BroadcastReceiver
,或者使用单个广播接收机处理所有意向过滤器。
通常最好根据一组意图过滤器来定义不同的接收器,这些过滤器应该为相关的任务组提供功能。
就像我说的,它完全取决于你。如果你有一大套意图过滤器,并且你希望你的代码得到正确的处理(根据它所执行的类似的任务分类),那么去多个接收器。否则,它容易和合乎逻辑地处理单个接收器中的几个滤波器
此外,应用程序的性能不会受到阻碍,因为它取决于接收器中的任务执行情况,而不是接收器或过滤器的数量。
提示:尝试引进Threads
无论你预计将进行一些繁重的:)
您可以在应用程序上声明尽可能多的BroadcastReceivers。它会影响你收到的每一个广播开始做一百万次长时间的后台操作。
但你计划的应用程序真的需要所有这些接收器吗?
有一些API以编程方式启用/禁用您声明的接收器,也可能是一个不错的选择。
编辑: 我想如果你自己做一点测试会容易一些。
这些都是BroadcastReceiver可能收到的所有不同操作。所以它只是简化和组织一些应用程序来实现多个接收器,一个接收器用于每种不同类型的操作。或者,也许它只会收到两个非常类似的动作,并且在一个接收器中完成它更简单。
它有道理吗?
它认为类应该有一个责任。因此,如果您的BroadcastReceiver同时处理SMS
和CALL
意图,则考虑拥有多个接收器。
谢谢Waqas ~~这是我的答案。 – AmyWuGo 2012-08-15 09:30:35