我应该在 Service 或 MainActivity 中的什么地方定义 BroadcastReceiver

Where should i define BroadcastReceiver in Service or MainActivity

如果我在服务中定义 BroadcastReceiver 而不是在 MainActivity 中,它会消耗更多电池吗,因为单个应用程序有两个进程 运行.. 或者它会很好。

我的应用程序将在设备中消耗相同数量的电池和内存。即使在我使用 BroadcastReceiver 和服务执行 BroadcastReceiver 中发生的任务之后也是如此。

根据文档:"when a process executes a receiver (that is, currently running the code in its onReceive() method), it is considered to be a foreground process"。出于这个原因,你不应该从广播接收器启动长 运行 后台线程,我更喜欢 运行 它在 Activity.

Link: https://developer.android.com/guide/components/broadcasts