我编写了一个 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