OLED экраны смартфонов на Андроиде и как с ними бороться

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Экран Google Pixel 4


Привет, Хабр!


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


OLED — что это и зачем


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


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


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


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

Выгорание экрана — как это происходит?


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


Выгорание


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


Как же с этим бороться?


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


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


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


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


Установка


  • Linux: открываем терминал и пишем:


    sudo apt install adb

    Pretty self-explanatory.


  • Windows:


    1. Скачиваем нужный архив
    2. Распаковываем его туда, куда удобно.
    3. Открываем папку и заходим в нее через командную строку.


Готово.


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


Заходим в настройки своего смартфона и находим версию сборки (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


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


adb shell settings put global policy_control immersive.full=default

Заключение


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


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


P.S.


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

Источник: https://habr.com/ru/post/472208/


Интересные статьи

Интересные статьи

В сентябре этого года китайская компания Huawei представила альтернативу ОС Android, систему HarmonyOS 2.0. Эта ОС предназначена для установки на планшеты, часы и смартфоны компании, по...
Есть несколько способов добавить водяной знак в Битрикс. Рассмотрим два способа.
Сравнивать CRM системы – дело неблагодарное. Очень уж сильно они отличаются в целях создания, реализации, в деталях.
Как многим известно, в свойствах реплицируемых папок можно настроить исключения в виде масок файлов — и тогда служба не будет реплицировать файлы, соответствующие заданным маскам. Но не все зна...
Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности ка...