私は一定のレート、例えば50mSecごとにスクリーンを更新する方法を探しています。 埋め込みの世界では、50mSecごとに割り込みをトリガするタイマーを設定し、ISRがアップデートを処理します。私がAndroidで心に留めていることは、タイマー関数からの何らかのコールバックに反応するために登録された多数のビュー項目を持つFrameLayoutを持つことです。アクティブになっているディスプレイ更新時間を制御する方法
うまくいけば、誰かが私の質問を理解し、私に正しい方向を向けることを望みます。
私は一定のレート、例えば50mSecごとにスクリーンを更新する方法を探しています。 埋め込みの世界では、50mSecごとに割り込みをトリガするタイマーを設定し、ISRがアップデートを処理します。私がAndroidで心に留めていることは、タイマー関数からの何らかのコールバックに反応するために登録された多数のビュー項目を持つFrameLayoutを持つことです。アクティブになっているディスプレイ更新時間を制御する方法
うまくいけば、誰かが私の質問を理解し、私に正しい方向を向けることを望みます。
Runnable
でhandler.postDelayed
を使用して、一定期間後に電話をかけることができます。例えば
:
handler.post(new Runnable() {
@Override
public void run() {
handler.postDelayed(this, 50);
//do your task
}
});
はあなたハンドラが別の(非UI)スレッドに添付されていることを確認し、それがUI要素を更新するために来るとき、あなたはいつもそれがUIスレッド上で行います。
私はこれに関連していくつかの投稿を見て、その周りに私の頭を上げることができませんでした。私の頭の中の霧を解消するのに役立つ参考資料がありますか? – Squiggles
はい、これを読んでくださいhttp://developer.android.com/resources/articles/timed-ui-updates.html – waqaslam
ありがとう、私は今それを消化し、実験する必要があると読んだ。何かが欠落しているように見えますが、「これを行うには、別のpostDelayedをmUpdateTimeTask run()メソッドの末尾に置いてください」と言います。コードサンプルには含まれていません。私は推測します。 – Squiggles
タイマーを使用し、時間の終了時にOnCreate()メソッドを呼び出してみてください。 – superM
@superMタイマーの使用に対しては、多くのコメントがあります。より良い選択肢があるかどうかは疑問です。 – Squiggles
複数のスレッドでタイマーを使用すると、ほとんどの問題が発生します。タイマーとOnCreate()が同じスレッドで実行されている場合、私はそこに何か問題があるとは思わない。 – superM