[Из песочницы] OLED экраны смартфонов на Андроиде и как с ними бороться

Экран Google Pixel 4

Сегодня я коснусь весьма распространенной и, вообще говоря, довольно общеизвестной теме выгорания OLED-экранов. Несмотря на то, что эта тема актуальна уже достаточно давно, некоторые производители смартфонов продолжают делать неудачные дизайнерские решения, а пользователи продолжают предпринимать неверные, довольно разрушительные меры. Я бы хотел рассказать кратко о том, что такое OLED-экраны, почему они выгорают и как, собственно, быстрее и безболезненнее всего сгладить эту проблему (конечно же, без root-прав). Поехали!

OLED в расшифровке означает Organic Light-Emitting Diode, и в основе своей использует люминисцентные свойства определенных органических составов, которые испускают свет при проведении через них электрического тока. По сути, каждый пиксель есть некий миниатюрный электрод, заполненный веществом, испускающим либо красный, либо зеленый, либо синий при подаче напряжения.


Ну и зачем это нужно?

У этой технологии есть конкретный перечень довольно значимых преимуществ перед своим основным конкурентом — LCD. Вкратце их можно перечислить примерно так:


  • Меньше потребляемой энергии: черный цвет означает, что на пиксель вовсе не подается напряжение;
  • Меньший размер конструкции, что позволяет засовывать в гаджет больше фишек;
  • Очень хорошее рассеивание света, что позволяет значительно расширить угол видимости;
  • Затрат на производство меньше: используемые люминисцентные вещества недороги в приобретении;
  • БОльшая насыщенность цветов;
  • И другие.

Конечно же, наш мир не идеален, и всё имеет свои достоинства и недостатки — и наш друг OLED в том числе. Помимо множества небольших проблем, таких как сильное отражение света на улице или большие (сравнительно с LCD, иногда до 3х раз) энергетические затраты на отображение белого цвета, существует очень ярко выраженный недочет, который заметили уже все, кому не лень. Это выгорание экрана.

Выгорание

А связано это с тем, что те самые вещества в пикселях не могут светить вечно, а жизненные циклы каждого отдельного пикселя никак не синхронизированы между собой. Например, синие пиксели выгорают быстрее при том же самом напряжении, а если подолгу рассматривать похожие картинки на экране, то по-разному угасать будут целые порции экрана.

Основная задача борьбы с OLED-экранами заключается в том, чтобы как можно более равномерно использовать все части экрана. Некоторые производители слегка тюнингуют свои фичи, чтобы они не портили девайс. Но, как показывает практика, на производителей лучше не надеяться, а самому проследить за состоянием своего гаджета.

Во многих случаях все просто сводится к тому, что полезно иногда менять фон на рабочем столе, перемещать иконки приложений время от времени, следить за яркостью смартфона и в целом за тем, насколько часто меняется отображаемая картинка. Однако, на заметном количестве девайсов есть очень неприятный подвох.

Если у вас, как у меня, жестко фиксированы некоторые элементы дисплея, такие как navbar (панель навигации) или status bar, а в настройках спасения нет, придется немного изловчиться. Мы, используя ADB (Android Debug Bridge), сделаем так, что панель навигации и/или статусбар будут появляться только в тех приложениях, в которых нам они нужны всегда. А там, где они нам редко нужны, они будут скрыты и появляться только при свайпе в соответствующей части экрана.

Использовать утилиту ADB нужно через консоль. Все будет работать и под виндой, только нужно сбросить adb.exe и все необходимые dll-ки в нужную папку. Далее, все показанные мной команды и действия будут совершаться под Linux (Ubuntu), но это чисто ради удобства, поскольку под виндой (или любым другим дистрибутивом линуха) эта утилита будет работать абсолютно так же.


Установка

Готово.


Немного первичных работ

Заходим в настройки своего смартфона и находим версию сборки (build number).

Build number location

Нажимаем на него несколько раз и получаем доступ к опциям разработчика.
Далее, нам необходимо включить отладку по USB:

Enable USB debugging

Теперь подсоединяем смартфон к компьютеру в режиме MTP (передачи файлов), и пишем в терминале:

adb devices

Теперь у вас на смартфоне должно появиться следующее сообщение:

Allow USB debugging?

Ставим галочку и нажимаем «Ок».
Снова пишем adb devices и получаем что-то такое:

Success

Ура! Мы готовы к действию! Конечно же, нет никакой необходимости проделывать всю эту работу более одного раза для одного компьютера. Вы можете в любой момент включить adb, подсоединить смарфтон и отдавать ему команды (только будьте, пожалуйста, осторожны!).


А теперь самое главное

Как написано здесь, будем пушать некоторую глобальную настройку. Но сперва определите имена пакетов приложений, в которых вы хотели бы оставить настройки прежними. Сделать это можно, например, так:

adb shell pm list packages | grep vk

Получаем ответ:

package:com.vkontakte.android

Имя пакета — это то, что следует после 'package', то есть в нашем случае это 'com.vkontakte.android'.
Далее допустим, что мы хотим спрятать панель навигации везде, кроме вк. Сделать это можно так:

adb shell settings put global policy_control immersive.navigation=apps,-com.vkontakte.android

Готово! Изменения должны вступить в силу моментально.
Давайте же спрячем статус бар везде, кроме вк и YouTube.

adb shell settings put global policy_control immersive.status=apps,-com.vkontakte.android,-com.google.android.youtube

Ура! А теперь в приложении хабрахабра уберем и статусбар, и navbar, чтобы вмещать на экран еще больше классных статей.

adb shell settings put global policy_control immersive.full=ru.habrahabr

0f71tfyzn1jxdpdsxl_nyv8nexq.png

Вот и все! В любой момент изменения можно вернуть в дефолт, написав:

adb shell settings put global policy_control immersive.full=default

С выходом 10 ведроида и появлением новых жестов особая необходимость в конкретно этих заморочках ослабла, поскольку навбар практически отсутствует. Однако, если вас раздражают некоторые элементы UI и вы не можете их убрать в настройках, можете делать так, как я показал, через консоль.

Вся эта информация была накоплена мной, когда я сам пытался разрешить проблему выгорания экрана на своем смартфоне, и я надеюсь, что для кого-то эта статья была и интересной, и полезной. Всем удачи!

Буду рад любой обоснованной критике по форме и содержанию статьи.

© Habrahabr.ru