我有一个要求,我需要每15秒更新一次我的小部件。有一种名为android:updatePeriodMillis
的方法,但似乎只在30分钟后被解雇。
我在AlarmManager
的帮助下采用了更新我的Widget 的方法。 小部件更新但问题是它会降低设备的性能。当我的应用程序的AlarmManager
在后台运行时,我可以看到设备有很大的延迟来响应用户事件。 拥有经常更新的小部件是否明智?
这是更新小部件的推荐方法 ..还是任何人都可以提供一些代码示例或任何频繁更新的应用程序?
为什么android:updatePeriodMillis
设置为30分钟?是因为Android不希望我们在该时间间隔之前更新小部件吗?
答案 0 :(得分:1)
我有一个要求,我需要每15秒更新一次我的小部件。
这会对您的电池寿命产生影响。请将此配置为可配置。
有一个名为android:updatePeriodMillis的方法,但似乎只在30之后才被解雇 分钟。
这是一个XML属性,而不是一种方法,是的,它至少有30分钟的时间,因为安装应用程序小部件的用户会对电池寿命提出投诉,例如每15秒更新一次。
当我的应用程序的AlarmManager在后台运行时,我可以看到设备有很大的延迟 回应用户事件。
将您耗时的工作放在由警报触发的IntentService
中。如果您直接使用BroadcastReceiver
onReceive()
方法执行工作,则该方法以前台优先级运行,并且会对CPU使用率产生更大影响。此外,它会占用您流程的主要应用程序主题,因此在BroadcastReceiver
完成工作时,您运行的所有活动都会被卡住。
有一个经常更新的小部件是明智的吗?
恕我直言,不,但是如果你让它可配置,那么用户可以选择他们认为合适的值。