在小部件中接收时间刻度意图,为什么下面的代码是可能的?

时间:2012-12-08 11:53:48

标签: android widget android-appwidget

我希望在窗口小部件中收到时间标记,并尝试使用this link中的代码,并且它在运行Android API级别15的自定义ROM的kindle fire上运行良好,但有时时间错误我的手机运行Android 4.2 API等级17。

我的困惑与文章

下面的评论相同
  

这完全不可靠。 Android将在onUpdate()方法返回后随时终止您的进程,导致BroadcastReceiver和Application都消失。

任何人都可以解释或证明代码吗?

1 个答案:

答案 0 :(得分:0)

  

我想在小部件中收到时间滴答

以可靠的方式这是不可能的。

  

并尝试了此链接中的代码

正如我在博客文章评论中指出的那样,该代码完全不可靠。

  

它适用于运行Android API等级15的自定义ROM的kindle fire

你还没有运行你的应用程序足够长的时间。它也会在你的Kindle Fire上失败。

  

但有时在运行Android 4.2 API等级17的手机上时间错误

Android 4.2可能更积极地终止没有活动组件的进程,这就是为什么它在您的手机上失败的原因。但是,保证失败,因为我在博客文章的评论中概述了您在问题中引用的原因。

Android应用程序作为操作系统进程运行,就像大多数现代操作系统中的程序一样。 Android将根据需要终止进程以回收RAM以用于其他进程。 Android将最终终止您的应用程序,此时您的注册接收器会蒸发。

与此同时,如果多次调用onUpdate(),您将为广播注册多个接收器,每个额外的接收器都会增加更多的开销。