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



我想在一个小部件中接收时间刻度,并尝试了这个链接中的代码,它在我的kindle fire上运行Android API 15级的自定义ROM,效果很好,但有时在我的手机上运行Android 4.2 API 17级的时间是错误的。

我的困惑和文章下面的评论一样

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

有人能解释或证明代码吗?

我想在小部件中接收时间刻度

这在可靠的情况下是不可能的。

并尝试了此链接中的代码

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

它在我的kindle fire上运行得很好,它运行Android API 15级的自定义ROM

您运行应用程序的时间不够长。它在你的Kindle Fire上也会失败。

但有时时间是错误的,我的手机运行Android 4.2 API 17级

Android 4.2在终止没有活动组件的进程方面可能更积极,这就是为什么它在手机上的故障速度更快的原因。然而,由于我在博客文章评论中概述的原因以及你在问题中引用的原因,它肯定会失败。

安卓应用程序作为操作系统进程运行,就像大多数现代操作系统中的程序一样。Android将根据需要终止进程,以回收RAM用于其他进程。Android最终会终止你的应用程序的进程,届时你注册的接收者将消失。

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

最新更新