我有一个Android应用程序,它依赖于web服务返回的值。该值每周只更改一次。客户应该检测到这个变化的值,但是他们发现这种变化的确切时间并不重要,12到24小时之后应该没问题。我应该安排在Android自定义应用程序类onCreate()方法中执行的操作吗?
我的当前实现在自定义Application类的onCreate()方法中启动一个IntentService,该方法从webservice中检索值。我还将最后一次检索的值保存在SharedPreferences中,因此应用程序不必等到检索到该值。
现在我的问题是,如果有必要在onCreate()方法中第一次检索后计划检索此值,比方说12小时后。我知道onCreate()方法在应用程序的生命周期中只调用一次,但我不知道Android系统会终止应用程序的可能性。假设应用程序将被终止足够多的时间以便不需要调度是否合理?如果我应该安排这次手术,那么最好的方法是什么?
如果你使用onCreate,我不认为你会有任何保证,它会被称为第二次。例如。如果用户插入手机进行充电,则会关闭睡眠状态并让应用程序持续运行数日。非常不可能,但并非不可能。如果我是你,我会设置某种计划任务。也许这个链接将有所帮助 - http://developer.android.com/resources/articles/timed-ui-updates.html。 – 2011-12-20 13:07:52
你提出的场景是我问这个问题的原因:)在链接的文章中,处理程序和postDelayed()方法的代码示例对我来说看起来不错,我认为它也是一个有效的解决方案? – 2011-12-20 13:22:14
我将实施您的链接文章中概述的解决方案。如果你把它放在你自己的答案中,我会接受你的答案。如果不是,我会在稍后回答我自己的问题。 – 2011-12-20 14:08:52