Самый эффективный способ установить цвет TextView - PullRequest
0 голосов
/ 11 апреля 2020

Какой самый эффективный способ установить цвет TextView и почему? Есть ли 1 метод, который более эффективен для памяти и / или процессора? Или нет никакой разницы в том, что происходит с моим приложением, когда оно работает? Лучше ли ссылаться на ресурс цвета, чем объявлять RGB каждый раз, когда я устанавливаю цвет?

Вариант 1 (с использованием канала RGB)

myTextView.setTextColor(Color.rgb(154,160,166))

Параметр 2 (с использованием анализатора цвета)

myTextView.setTextColor(Color.parseColor("#2B3A11"))

Вариант 3 (с использованием ресурса цвета из colors.xml)

myTextView.setTextColor(ContextCompat.getColor(context, R.color.<name_of_colour>))

1 Ответ

1 голос
/ 11 апреля 2020

Вариант 1 Должен быть самый быстрый способ установить цвет для вашего TextView. Вариант 2 очень закрыт. Второй. Потому что и значения RGB, и гекс-коды работают одинаково. Все сводится к функциям, из которых они вызываются, и к тому, как эти функции выполняются в фоновом режиме (см. Описание и реализацию этих функций rgb parseColor ).

Как и myTextView.setTextColor(...) то же самое. Таким образом, то, что происходит с вашим просмотром текста в фоновом режиме, остается тем же самым, только сбор цвета происходит по-другому.

Лучше ли ссылаться на ресурс цвета, чем объявлять RGB каждый раз, когда я устанавливаю цвет?
Ответ. Это зависит от вашего собственного использования, например,

, если вы хотите использовать цвет несколько раз и вам труднее запомнить код rgb, тогда вам определенно следует сохранить цвет в ресурсе цвета. и обратитесь к нему позже. Цветовой ресурс был создан только для этого! И, как упомянул @ Fances c, это делает ваши документы читабельными и удобными в обслуживании. Следовательно, более профессиональный способ ведения дел.


С другой стороны, использование rgb right всякий раз, когда это необходимо, избавляет вас от многих проблем.

  1. Вам не нужно никуда сохранять данные.
  2. При использовании вам не нужно искать весь файл цветовых ресурсов.
  3. 99% раз Используется цветовая модель rgb / rgba, поэтому все, что вы делаете, заканчивается здесь.
  4. Плюс более новые обновления упрощают работу со значениями rgb и hex для цветов. один такой пример показан здесь .
  5. Хорошо для людей, которым плохо с цветными именами.



Я предполагаю, что вы знали все об этом уже, но решил все равно спросить .XD. Хорошего дня.

...