0

私は、Flickr API を使用して 1 時間に 1 回リモート イメージをチェックしてフェッチする Muzei プラグインを作成しました。ただし、アプリが悪い状態になり、更新が停止することがあることに気付きました。共有設定 (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

私自身の質問に答えると、orRuntimeExceptionの実行中にスローされたものは、当然のことながらメソッド全体を通過しないため、(私の場合) 新しい更新をスケジュールしないことがわかります。私の場合、悪いネットワーク イベント中に RetrofitError がスローされました。少しtry-catch処理を投げて、エラーを修正したようですonTryUpdateonUpdate

于 2014-04-27T16:32:18.017 に答える