我想在一个小部件中接收时间刻度,并尝试了 此链接中的代码,它在运行 Android API 级别 15 的自定义 ROM 的 kindle fire 上运行良好,但有时在运行 Android 4.2 的手机上时间错误API 级别 17。
我的困惑与文章下方的评论相同
这是完全不可靠的。在 onUpdate() 方法返回后,Android 将随时终止您的进程,导致 BroadcastReceiver 和 Application 都消失。
任何人都可以解释或证明代码吗?
我想在一个小部件中接收时间刻度,并尝试了 此链接中的代码,它在运行 Android API 级别 15 的自定义 ROM 的 kindle fire 上运行良好,但有时在运行 Android 4.2 的手机上时间错误API 级别 17。
我的困惑与文章下方的评论相同
这是完全不可靠的。在 onUpdate() 方法返回后,Android 将随时终止您的进程,导致 BroadcastReceiver 和 Application 都消失。
任何人都可以解释或证明代码吗?
我想在小部件中接收时间刻度
以可靠的方式这是不可能的。
并尝试了此链接中的代码
正如我在博客文章的评论中指出的那样,该代码完全不可靠。
它在运行 Android API 级别 15 的自定义 ROM 的 kindle fire 上运行良好
您运行应用程序的时间不够长。它也会在您的 Kindle Fire 上失败。
但有时运行 Android 4.2 API 级别 17 的手机上的时间是错误的
Android 4.2 可能更积极地终止没有活动组件的进程,这就是为什么它在您的手机上失败得更快的原因。但是,由于我在对博客文章的评论中概述的原因以及您在问题中引用的原因,它肯定会失败。
Android 应用程序作为操作系统进程运行,就像大多数现代操作系统中的程序一样。Android 将根据需要终止进程以回收 RAM 以供其他进程使用。Android 最终将终止您的应用程序的进程,此时您的注册接收器将消失。
同时,如果onUpdate()
被多次调用,您将为广播注册多个接收器,每个额外的接收器都会增加更多开销。