0

我编写了一个 Muzei 插件,它使用 Flickr API 每小时检查和获取远程图像一次。我注意到有时我的应用程序会进入错误状态并且会停止更新。我检查了共享首选项(Muzei 存储下一次更新时间的位置),我注意到该scheduled_update_time_millis变量不再存在于我的艺术源 xml 文件中。

我已经仔细检查了我的RemoteMuzeiArtSource.onTryUpdate()方法调用,并且我已经验证它应该总是调用

long CHECK_INTERVAL_MILLIS = 1 * 60 * 60 * 1000L; // 1 hr
scheduleUpdate(System.currentTimeMillis() + CHECK_INTERVAL_MILLIS);

或扔一个RetryException

不幸的是,我无法始终如一地重现这种糟糕的状态,所以我不确定它是如何发生的。

我的 RemoteMuzeiArtSource 课程的完整来源在这里:CactusArtSource

4

1 回答 1

0

回答我自己的问题:事实证明,RuntimeException在执行过程中抛出的任何onTryUpdateonUpdate将导致无法通过整个方法,因此(在我的情况下)不会安排新的更新。就我而言,这是在网络错误事件期间引发的 RetrofitError 。我对其进行了一些尝试捕获处理,似乎已经修复了错误

于 2014-04-27T16:32:18.017 回答