0

私はインターネットをよく調べていましたが、テキストを1秒ごとに変更したり、ミリ秒を表示したりする方法の例しか見つかりませんでした。

私はこれらの例を使用して、秒が変更されたときに画像を変更していましたが、タイマーはもう正確ではありませんでした。画像を変更すると、アプリは約20ミリ秒または200ミリ秒のランダムな遅延で応答します。

私はクラスRunnableを使用してpostDelayおりAsynTaskonPostExecuteUIを更新しましたが、どちらもlagでまったく同じように機能していました。

毎秒画像を変更するためのベストプラクティスは何ですか?そして将来的には、毎秒5枚の画像のアニメーションを開始することを考えています(より派手な時計タイマー)。

私は自分のコードを投稿しますが、今はこれまでに見つけたすべての例の混乱です。

4

1 に答える 1

1

あなたはコードを共有していないので、推測するだけです。

画像をビットマップまたはドローアブルとして既に初期化することをお勧めします。ハッシュテーブルにある可能性があります。

その後、タイマーを開始し、画像を置き換えるコードを適切な場所に配置します。 ポイントは、スレッド内の画像を置き換える以外に時間を費やすべきではないということです。

編集済み: コードでやりたい場合:

アニメーションを開始する前に、描画可能な ID ではないビットマップ (または Drawble クラスのオブジェクト) の配列を作成します。配列で指定した ID からビットマップを作成し、画像ビューに設定する際にシステムが費やす時間を節約する必要があるためです。

また、これには非常に簡単に最適化され、信頼できる AnimateDrawbles を使用できます。

ここにサンプルがあります。必要に応じて、xml の期間変数を調整するだけです。

于 2013-01-14T12:19:01.453 に答える