ガベージ コレクションを最小限に抑えるために、Android アプリの Draw() ループでできるだけ多くのオブジェクトを作成しないようにしていますが、時間の処理に問題があります。現在の時刻を取得する方法は 2 つあります。
1) java.util.Calendar
long now = Calendar.getInstance().getTimeInMillis();
これは問題なく動作しますが、(私が知る限り) Calendar オブジェクトを現在の時刻に設定する唯一の方法は、Calendar.getInstance() を呼び出すことであり、getInstance() を呼び出すたびに新しい int[] が作成されます。 .
2) android.text.format.Time
Time time = new Time();
time.setToNow();
long now = time.toMillis(true);
これは、呼び出されるたびに新しいオブジェクトをインスタンス化することなく実行できますが、setToNow() は最も近い秒までしか正確に表示されません。
Drawループでガベージコレクションを発生させずに、現在のシステム時間をミリ単位で取得するにはどうすればよいですか?