Android: слишком много объектов - PullRequest
1 голос
/ 26 февраля 2012

У меня есть соединение Bluetooth с устройством, которое отправляет данные в виде байтового массива.Затем байтовый массив изменяется на строку с новой строкой (byte [], offset, bytecount).Проблема в том, что данные принимаются сотни и сотни раз, и сборщик мусора, кажется, не выполняет свою работу, потому что после примерно 1000 циклов я получаю ошибку выделения байтов из памяти.Приложение начинает все больше и больше отставать по мере увеличения числа циклов.

Есть ли способ освободить память нового строкового объекта сразу после его использования, или еще лучше, есть ли способ изменитьбайтовый массив в строку или даже в число с плавающей точкой без создания нового объекта?

В худшем случае, есть ли способ дать приложению больше памяти, чтобы произошла ошибканамного позже?

1 Ответ

0 голосов
/ 26 февраля 2012

Если вы прочитаете свои данные в char[] и будете использовать этот массив при чтении дополнительных данных, у вас будет очень маленький объем памяти.

Также проверьте эту страницу: http://www.javamex.com/tutorials/memory/string_memory_usage.shtml

...