2017-02-20 9 views
0


カウントダウンタイマーを15から0に、次のコードを使用してテキストビューを更新したいだけですが、毎秒更新せず、約3,4秒遅れます毎回更新する。は、アンドロイドで毎秒テキストビューを更新するときに遅延があります

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    initGame(); 

    CountDownTimer countDownTimer = new CountDownTimer(30000, 1000) { 
     @Override 
     public void onTick(long millisUntilFinished) { 
      tv.setText("time left : " + millisUntilFinished/1000); 
     } 

     @Override 
     public void onFinish() { 
      tv.setText("finished!"); 
     } 
    }.start(); 

} 

instaceことが印刷されます。
time left : 29 time left: 25 time left: 22

私はあなたの助けに感謝します。

+0

通常、 'onTick()'メソッドで行っている操作に必要な時間があれば、次のものをスキップします。あなたが 'onTick()'で行っている唯一の仕事がテキストを設定しているのであれば、そうでないかもしれません。そうすればあなたのUIスレッドはかなり忙しいでしょう。 – GVillani82

+0

プロファイルを作成しますか? Androidスタジオ - >タブ[Androidモニター] - >サブタブ[モニター] - >上のCPUグラフの上にボタンがあります。 "メソッドのトレース開始" - デバッグビルドで動作するはずです。以前の 'onTick'が既に終了したときに、' onTick'が望ましい間隔で呼び出されているように見えるので、あなたのコードは動作するはずです(テキストビューだけで動作します公式の例と同じように見えるので、おそらく動作します)。 – Ped7g

+0

@ GVillani82を除いて、textviewには16の画像ビューがあります。それは遅れを取っていますか?この方法で再度UIを表示しますか?はいの場合は、部分的にUIをレンダリングする方法がありますか?私はかなりアンドロイドプログラミングに新しいです! – Power

答えて

0

使用このライブラリ

FadingTextView余分なコードを記述するごとに自動的に数秒

必要はありませんが、その内容を変更するのTextView。