ライブ壁紙で最も効率的で適切なコードを使用していることを確認しようとしています。現在、定期的なアクションがある場合は、Runnablesを使用してアクションを繰り返し、それが完了した後、必要な期間、postDelayを実行します。
drawFrame RunnableなどのRunnableを1つだけにして、他の定期的なアクションのためにそれを処理する方がよいでしょうか。
例えば:
int interval1 = 0;
int interval2 = 0;
drawFrame(){
interval1++;
interval2++;
if (interval1==repeatInt1){
interval1 = 0;
// Periodic action 1
}
if (interval2==repeatInt2){
interval2 = 0;
// Periodic action 2
}
// Regular drawFrame code here
}
上記の方法では、3つのランナブルを実行するよりも少ないリソースを使用すると思いますよね?
明確にするために、定期的に実行する必要がある複数のアクション(2つ以上)がありますが、必ずしもすべてが同じ遅延であるとは限りません。最短の遅延のランナブルを作成し、それを中央スレッドとして使用して、X回のループの後に他のアクションを実行するのが最善でしょうか?