2012-04-23 9 views
0

私は一定のレート、例えば50mSecごとにスクリーンを更新する方法を探しています。 埋め込みの世界では、50mSecごとに割り込みをトリガするタイマーを設定し、ISRがアップデートを処理します。私がAndroidで心に留めていることは、タイマー関数からの何らかのコールバックに反応するために登録された多数のビュー項目を持つFrameLayoutを持つことです。アクティブになっているディスプレイ更新時間を制御する方法

うまくいけば、誰かが私の質問を理解し、私に正しい方向を向けることを望みます。

+0

タイマーを使用し、時間の終了時にOnCreate()メソッドを呼び出してみてください。 – superM

+0

@superMタイマーの使用に対しては、多くのコメントがあります。より良い選択肢があるかどうかは疑問です。 – Squiggles

+0

複数のスレッドでタイマーを使用すると、ほとんどの問題が発生します。タイマーとOnCreate()が同じスレッドで実行されている場合、私はそこに何か問題があるとは思わない。 – superM

答えて

1

Runnablehandler.postDelayedを使用して、一定期間後に電話をかけることができます。例えば

handler.post(new Runnable() { 

     @Override 
     public void run() { 
      handler.postDelayed(this, 50); 
      //do your task 
     } 
    }); 

はあなたハンドラが別の(非UI)スレッドに添付されていることを確認し、それがUI要素を更新するために来るとき、あなたはいつもそれがUIスレッド上で行います。

+0

私はこれに関連していくつかの投稿を見て、その周りに私の頭を上げることができませんでした。私の頭の中の霧を解消するのに役立つ参考資料がありますか? – Squiggles

+0

はい、これを読んでくださいhttp://developer.android.com/resources/articles/timed-ui-updates.html – waqaslam

+0

ありがとう、私は今それを消化し、実験する必要があると読んだ。何かが欠落しているように見えますが、「これを行うには、別のpostDelayedをmUpdateTimeTask run()メソッドの末尾に置いてください」と言います。コードサンプルには含まれていません。私は推測します。 – Squiggles

関連する問題