2012-01-03 12 views
0

今日、ジンジャーブレッドからアイスクリームサンドイッチにアップグレードしました。 今日のその他の変更は、Wi-Fiをオンにして背景データを有効にすることでした。今 Androidシステムクロックを変更しますか?

はLogCatに私はこれを見ている:

タグ:SystemClockテキスト:私は作ってるんだ= 1325630833

いくつかのゲーム秒に一日の時間を設定すると、これに依存したときに変化していませんゲームがプレイされています。私はしばしばSystem.currentTimeMillis()を使って動きの間の経過時間を決定します。例えば、ゲームオブジェクトの速度はピクセル/秒で測定されます。 Androidの変更があれば、システムクロックはこれを邪魔します。

経過時間を測定する良い方法はありますか?

答えて

4

Androidシステムクロックを変更しますか?

確かに。ほとんどのコンピュータは通常、どこかのNTPサーバーと同期します。電話機の場合、場所によっては、無線キャリアからのNITZ信号にも応答する場合があります。

経過時間を測定する良い方法はありますか?

使用SystemClock、特にuptimeMillis()elapsedRealtime()方法。

+0

私は100%解決策はないと思います。 uptimeMillis()のドキュメントを参照してください。注意:この値は時折リセットされます(ラップアラウンドする前に)。さらに、あなたはどう思っていますか、これらの方法は何に依存していますか?そうです、最終的にSystem.nanoTime()にラップされるネイティブメソッドに。したがって、問題のその単なるシフト。 – poitroae

+0

@Michael:「100%解決策はないと思う」 - あなたの意見には大歓迎です。同意しません。 「uptimeMillis()についての文書を参照してください - それは数週間に1回起こり、簡単に処理できます。 「そうです、最終的にSystem.nanoTime()にラップされるネイティブメソッドについて - あなたの証拠は何ですか?ソースコードがあなたに同意していないようです。 – CommonsWare

+0

私はSystemClockのネイティブメソッドがこれを正確に言っていると思います。さらなる計算のためにナノタイムを取得する。システムクロックの時間はさらに変化することさえありません。 – poitroae

関連する問題