哪种解决方案更适合Battery小部件。广播接收器或AlarmManager每隔5分钟触发一次?
答案 0 :(得分:0)
这取决于你对“更好”的定义。
您无法从清单注册ACTION_BATTERY_CHANGED
广播,因此您必须拥有一直运行的服务,以管理此广播的动态注册接收器。许多用户不喜欢这个。
AlarmManager
避免了对持续运行服务的需求,但这意味着您的应用小部件在找到电池电量变化时会稍微滞后。但是,您可以允许用户通过SharedPreference
控制轮询频率,而不是将其硬编码为五分钟。这样,用户可以控制应用程序从轮询中消耗多少CPU /电池,因此可以控制将会有多少延迟。