2016-06-02 3 views
1

Если у меня есть сетчатый сет, и я устанавливаю фоны программ эскизов сетки программно на ЧЕРНЫЙ, будет ли он потреблять больше ЦП, а не если они будут белыми?Является ли gridview черных квадратов влиять на производительность больше, чем сетка белых квадратов?

holder.ivImageThumbnail.setImageDrawable(null); 
holder.ivImageThumbnail.setBackgroundColor(Color.WHITE); 
+1

Я не думаю, что вы увидите изменения производительности процессора. Вы можете увидеть небольшое изменение в использовании памяти, используя белый над черным, потому что белый состоит из большего объема данных, чем черный. Если бы мне пришлось выбирать, я бы подумал, что не устанавливать какой-либо фон был бы самым быстрым. Скорее всего, беспокоиться об оптимизации ваших растровых изображений, чем цвет фона, который не будет виден. – Neil

+1

так белые пиксели содержат больше данных, чем черные? в чем причина этого? –

+1

У белых есть значение RGB 255, 255, 255, где черный 0, 0, 0, также зависит от количества бит вашего изображения. Если вы возьмете белое изображение размером 500x500 с сжатием JPEG и сравните его с черным изображением 500x500 с сжатием JPEG, вы увидите больше, чем разницу в 20 килобайт. Измените это на PNG, и диапазон будет отличаться даже больше, поскольку альфа-значение PNG добавляет к сжатию. См. Эту статью для более http://paulbourke.net/dataformats/bitmaps/ – Neil

ответ

1

Я не думаю, что вы увидите изменения производительности на ЦПУ. В android вы не заметите использование памяти фонового цвета из-за используемого вами GridView. A GridView перерабатывает свои представления, поэтому будет только количество элементов, которые вы можете установить для своих дочерних представлений, прежде чем повторно использовать старые представления, чтобы вы не беспокоились о цвете фона.

Возможно, вы видите небольшое изменение в использовании памяти с использованием белого над черным, потому что белый цвет состоит из большего объема данных, чем черный. У белого есть значение RGB [255, 255, 255], где черный - [0, 0, 0], размер также зависит от количества бит вашего изображения.

Если вы возьмете белое изображение 500x500 с сжатием JPEG и сравните его с черным изображением 500x500 с сжатием JPEG, вы увидите больше, чем разницу в 20 килобайт. Измените это на PNG, и диапазон будет отличаться даже больше, поскольку альфа-значение PNG добавляет к сжатию. Это не должно быть проблемой, потому что вы рисуете на ViewCanvas.

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