У меня есть программа написанная на java на андроиде. В этой программе запускается процедура main() в фоновом потоке, которая представляет из себя цикл в котором выделяется память под объекты - вопрос №4359100

некоторого массива (массив у меня большой!). Все работает хорошо, одна только проблема. Java выделяет для программы 25мб озу, если нужно еще, она еще выделяет 25мб и т.д., при этом, при выделении памяти, программа притормаживает на 2-3 сек. В скором времени, мои данные становятся увесистыми, и программе нужно много раз получить по 25 мб, из-за чего она надолго замирает. Как мне установить в программу, чтоб она «хватала» памяти не по 25мб, а, скажем, по 100мб? Свободного озу у моего телефона 1гб. Код программы: private void main () { Position[] Pos = new Position[10000000]; int z = 0; int xx = 1; while (xx <= 4000) { if (xx >= 3200) { setTextR(xx + "-" + Runtime.getRuntime().freeMemory() + " "); } int i = 1; while (i <= xx) { Position p = new Position(); p.questions = new NodeList(); p.vars = new LinkedList<Var>(); Pos[z] = p; i++; z++; } xx++; } }
11.06.21
0 ответов
Ответов пока нет

Глеб Черняк

от 55 p.
Читать ответы

Олег Николаевич

от 50 p.
Читать ответы

Alexander

от 500 p.
Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store