2016-01-14 3 views
0

Я делаю игру для Android, которая начинает становиться немного слишком нуждающейся с точки зрения процессора, поэтому я спрашивал себя, что я могу изменить, чтобы сделать ее немного проще для телефона, выделяющего память.Android: о производительности

Итак, мой вопрос: является ли назначение менее нуждающимся, чем создание?

Предположим, у меня есть метод onDraw, который вызывается для рисования спрайтов и вещей на моем представлении. Каждый раз, когда он называется, я делаю rect1 = new Rect(...) внутри этого метода. Было бы лучше вообще (и для этого конкретного примера) объявить rect1 в моем конструкторе класса и сделать rect1.bottom = ...; rect1.top = ...;?

ответ

0

Распределение памяти будет всегда более дорогостоящим, чем назначение значения в OnDraw.

2

Общее правило в Java-программировании (Android или иначе) заключается в том, чтобы избежать как можно большего числа new. Повторно используйте все возможное. Мало того, что создание новых временных объектов требует много времени, но также будет чаще запускать сборщик мусора, тратя еще больше циклов.

+0

И на самом деле у Android раньше были какие-то звонки на новый в onDraw. Я думаю, что это так и есть. –

Смежные вопросы