我正在写一个简单的广播接收器。我已经在清单和代码中注册了接收器。就我的目的而言,这是一个简单的接收器,不需要做任何花哨的事情。
在这种情况下,是否有理由选择一种方法而不是另一种方法?在清单中注册接收者是否更有效率(执行速度更快)?或者它们基本上都是一样的?
我之所以问这个问题,是因为我正在编写的应用程序需要非常高效,而我还没有找到关于这两种方法之间实际差异的好信息。我正在尝试遵循最好的编码实践。
干杯
发布于 2011-10-25 03:34:23
我不能说一个比另一个的实现效率高(我的直觉告诉我,它太接近了,不太重要),但出于Cristian的回答中暗示的原因,以编程方式注册和注销可能会使您的应用程序更有效率。
如果您在清单中注册,则任何与您的筛选器匹配的意图都会唤醒您的广播接收器。如果您以编程方式注册,则只能允许在特定时间唤醒接收器,并且您可以控制哪些意图将唤醒接收器以及在哪些时间唤醒接收器。
如果你真的担心在不需要的时候唤醒接收器,那么在代码中以编程的方式来做。您需要更加小心地始终取消注册,并确保您的接收器始终按照您期望的那样注册,但如果您正确地这样做,您可以避免不必要地唤醒您的接收器,从而节省一些效率。
https://stackoverflow.com/questions/7880741
复制相似问题