Дешевое построение / форматирование строк для входных потоков и таймеров? - PullRequest
1 голос
/ 18 января 2011

У меня изрядное количество проблем с памятью в приложении.Я думаю, что мои растровые изображения разобраны, моя текущая проблема, кажется, проистекает из строк.У меня есть 2 функции, которые часто выполняются, и я должен убедиться, что они твердые.

Первая - преобразование входного потока в строку.

Вторая - отформатировать отображение таймера, как в медиаплеере.,Это происходит каждую секунду.

Есть ли очевидные недостатки в этих функциях?* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100

1 Ответ

0 голосов
/ 18 января 2011

Хранение StringBuilder в качестве переменной класса означает, что его внутренний буфер остается выделенным для жизни класса. Если вам не нужны символьные данные как StringBuilder и String, вы должны создавать новый StringBuilder в качестве локальной переменной внутри formatContent () при каждом его вызове. В качестве альтернативы, если вы можете обойтись с CharSequence вместо String, и просто использовать StringBuilder вместо создания String. (Конечно, это не сработает, если вам в конечном итоге придется передать его API-интерфейсу вне вашего контроля, для которого требуется строка.)

...