每20-30秒更新一次Android小部件的最佳方式:处理程序,服务或警报?

Joh*_*ini 5 java service android widget handler

我有一个4x4小部件,我想每15-20秒更新一小部分.显然,我不希望在手机处于待机状态时更新它.小部件还需要响应除我的计时器之外的一些系统事件.那么,哪个是最佳选择?

  • 一个AlarmManager:很好,但如果需要每20秒运行一次,可能是cpu密集型的
  • 一个处理程序:轻,但我不知道如何在手机睡觉时停止它
  • 服务:在这里我还需要了解如何在手机睡眠时停止它

我还需要更新我的小部件的一小部分而不更新它的所有屏幕区域,这可能吗?

谢谢大家.

Com*_*are 3

我有一个 4x4 小部件,我想每 15-20 秒更新一小部分。

请将此设置为可选或可配置

那么,哪个是最好的选择?

AHandler与应用程序小部件无关。

始终运行的服务对业务不利,并且会导致用户使用任务杀手攻击您。

最好的坏选择是AlarmManager

坦率地说,最好的答案是“不要每 15-20 秒更新一小部分”。

  • @JohnUopini:“对于“自定义主屏幕应用程序”,您的意思是使用 RemoteViews 更新小部件的应用程序类?”不,我的意思是用您自己的主屏幕替换用户主屏幕的活动,例如 aHome 或 HTC Sense 主屏幕可以,或者 MOTOBLUR 主屏幕可以。例如,某些 HTC 设备之所以可以执行动画和快速更新,是因为这些功能不是由应用程序小部件完成的,而是由主屏幕本身的实现来完成的。 (2认同)