2016-06-02 9 views
1

Wenn ich eine Gridview habe und die Gitter-Thumbnails Hintergründe programmatisch auf SCHWARZ gesetzt habe, würde es mehr CPU verbrauchen als wenn sie weiß wären?Wird eine Gitteransicht von schwarzen Quadraten die Leistung mehr beeinflussen als eine Gitteransicht von weißen Quadraten?

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

Ich glaube nicht, dass Sie eine Leistungsänderung auf der CPU sehen werden. Unter Verwendung von Weiß über Schwarz wird möglicherweise eine geringfügige Änderung der Speichernutzung angezeigt, da Weiß aus einer größeren Menge an Daten besteht als Schwarz. Wenn ich wählen müsste, würde ich denken, keinen Hintergrund zu setzen, wäre am schnellsten. Sorgen Sie eher dafür, Ihre Bitmaps zu optimieren, als die Farbe des Hintergrunds, die nicht angezeigt wird. – Neil

+1

so enthalten weiße Pixel mehr Daten als schwarz? Was ist der Grund dafür? –

+1

Weiß hat einen RGB-Wert von 255, 255, 255 wobei Schwarz 0, 0, 0 ist, hängt auch von der Anzahl der Bits in Ihrem Bild ab. Wenn Sie ein 500x500 weißes Bild mit JPEG-Komprimierung nehmen und es mit einem schwarzen 500x500 Bild mit JPEG-Komprimierung vergleichen, werden Sie mehr als 20 Kib Unterschied sehen. Ändern Sie das in PNG, und der Bereich wird aufgrund des Alpha-Werts, den PNG zur Komprimierung hinzufügt, noch mehr abweichen. Sehen Sie diesen Artikel für mehr http://paulbourke.net/dataformats/bitmaps/ – Neil

Antwort

1

Ich glaube nicht, dass Sie eine Leistungsänderung auf der CPU sehen werden. In Android werden Sie die Speicherbelegung des Hintergrundfarbspeichers wegen der GridView nicht bemerken, die Sie verwenden. A GridView recycelt seine Ansichten, daher gibt es nur x Anzahl der Elemente, die Sie für die untergeordneten Ansichten festlegen können, bevor die älteren Ansichten erneut verwendet werden. Sie sollten sich also keine Gedanken über die Hintergrundfarbe machen.

Sie können eine geringfügige Änderung der Speichernutzung mit Weiß über Schwarz feststellen, da Weiß aus einer größeren Menge an Daten als Schwarz besteht. Weiß hat einen RGB-Wert von [255, 255, 255] wobei Schwarz [0, 0, 0] ist, die Größe hängt auch von der Anzahl der Bits in Ihrem Bild ab.

Wenn Sie ein 500x500 weißes Bild mit JPEG-Komprimierung nehmen und es mit einem schwarzen 500x500 Bild mit JPEG-Komprimierung vergleichen, werden Sie mehr als 20 Kib Unterschied sehen. Ändern Sie das in PNG, und der Bereich wird aufgrund des Alpha-Werts, den PNG zur Komprimierung hinzufügt, noch mehr abweichen. Dies sollte jedoch kein Problem sein, da Sie auf ViewCanvas zeichnen.

Verwandte Themen