Я реализовал счетчик прошедшего времени, который использует TextView
для отображения прошедшего времени с точностью до сотых долей секунды. При каждом обновлении моя текущая реализация считывает истекшее время, выделяет новый String
, отформатированный для чтения пользователем, и обновляет текст TextView
этим String
.
Кажется огромной тратой памяти, что каждый String
используется только один раз в течение доли секунды, а затем быстро отбрасывается навсегда. Есть ли способ постоянно обновлять текст TextView
без выделения дополнительной памяти для нового String
каждый раз?
Вот метод, который я сейчас использую для форматирования моего текста:
public static String formatTime(long time) {
int minute = (int) (time / 60000);
int second = (int) (time / 1000) % 60;
int hundredth = (int) (time / 10) % 100;
return String.format("%02d:%02d:%02d", minute, second, hundredth);
}
Вызывающая функция вычисляет истекшее время, вызывает эту функцию, а затем немедленно вызывает setText(String)
для TextView
.