Android Разные краски для Textsize - PullRequest
0 голосов
/ 27 сентября 2011

Является ли более эффективным создание нового Paint () или изменение существующего, когда вы хотите напечатать что-то с другим размером шрифта или стилем?- это для игры, поэтому изменения будут вноситься каждый кадр

Ответы [ 2 ]

0 голосов
/ 27 июня 2013

Если объекту Paint не нужно менять каждый кадр, то я бы поменял небольшую потерю памяти для повышения производительности, создав один объект Paint для каждого необходимого размера, но не для каждого кадра.Сделайте это в конструкторе класса и используйте его в каждом кадре, чтобы они создавались только один раз.
Более того, если Paint не изменится для разных экземпляров, сделайте Paints статичным, и у вас будет один набор для всех экземпляров.

0 голосов
/ 27 сентября 2011

Насколько я знаю, создание объектов всегда дорого. Вы должны избегать этого, если можете, особенно в вашем случае, когда это происходит каждый кадр. Android всегда предлагает вам повторно использовать объекты ( см. Этот документ ). Я не думаю, что Paint должен иметь такой большой объем памяти, но почему бы просто не использовать его повторно. Или создать два из них и использовать их?

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

...