- PVSM.RU - https://www.pvsm.ru -
Сегодня я коснусь весьма распространенной и, вообще говоря, довольно общеизвестной темы выгорания OLED-экранов. Несмотря на то, что эта тема актуальна уже достаточно давно [1], некоторые производители смартфонов продолжают делать неудачные дизайнерские решения [2], а пользователи продолжают предпринимать неверные, довольно разрушительные меры [3]. Я бы хотел рассказать кратко о том, что такое OLED-экраны, почему они выгорают и как, собственно, быстрее и безболезненнее всего сгладить эту проблему (конечно же, без root-прав). Поехали!
OLED в расшифровке означает Organic Light-Emitting Diode, и в основе своей использует люминисцентные свойства определенных органических составов [4], которые испускают свет при проведении через них электрического тока. По сути, каждый пиксель есть [5] некий миниатюрный электрод, заполненный веществом, испускающим либо красный, либо зеленый, либо синий при подаче напряжения.
У этой технологии есть конкретный перечень [6] довольно значимых преимуществ перед своим основным конкурентом — LCD. Вкратце их можно перечислить примерно так:
Конечно же, наш мир не идеален, и всё имеет свои достоинства и недостатки — и наш друг OLED [7] в том числе. Помимо множества небольших проблем, таких как сильное отражение света на улице или большие (сравнительно с LCD, иногда до 3х раз) энергетические затраты на отображение белого цвета, существует очень ярко выраженный недочет, который заметили уже все, кому не лень. Это выгорание экрана [8].
А связано это с тем, что те самые вещества в пикселях не могут светить вечно [9], а жизненные циклы каждого отдельного пикселя никак не синхронизированы между собой. Например, синие пиксели выгорают быстрее при том же самом напряжении, а если подолгу рассматривать похожие картинки на экране, то по-разному угасать будут целые порции экрана.
Основная задача борьбы с OLED-экранами заключается в том, чтобы как можно более равномерно использовать все части экрана. Некоторые производители слегка тюнингуют [10] свои фичи, чтобы они не портили девайс. Но, как показывает практика, на производителей лучше не надеяться, а самому проследить за состоянием своего гаджета.
Во многих случаях все просто сводится к тому, что полезно иногда менять фон на рабочем столе, перемещать иконки приложений время от времени, следить за яркостью смартфона и в целом за тем, насколько часто меняется отображаемая картинка. Однако, на заметном количестве девайсов есть очень неприятный подвох.
Если у вас, как у меня, жестко фиксированы некоторые элементы дисплея, такие как navbar (панель навигации) или status bar, а в настройках спасения нет, придется немного изловчиться [11]. Мы, используя ADB (Android Debug Bridge [12]), сделаем так, что панель навигации и/или статусбар будут появляться только в тех приложениях, в которых нам они нужны всегда. А там, где они нам редко нужны, они будут скрыты и появляться только при свайпе в соответствующей части экрана.
Использовать утилиту ADB нужно через консоль. Все будет работать и под виндой, только нужно сбросить adb.exe и все необходимые dll-ки в нужную папку. Далее, все показанные мной команды и действия будут совершаться под Linux (Ubuntu), но это чисто ради удобства, поскольку под виндой (или любым другим дистрибутивом линуха) эта утилита будет работать абсолютно так же.
Linux: открываем терминал и пишем:
sudo apt install adb
Pretty self-explanatory.
Windows:
Готово.
Заходим в настройки своего смартфона и находим версию сборки (build number).
Нажимаем на него несколько раз и получаем доступ к опциям разработчика.
Далее, нам необходимо включить отладку по USB:
Теперь подсоединяем смартфон к компьютеру в режиме MTP (передачи файлов), и пишем в терминале:
adb devices
Теперь у вас на смартфоне должно появиться следующее сообщение:
Ставим галочку и нажимаем "Ок".
Снова пишем adb devices
и получаем что-то такое:
Ура! Мы готовы к действию! Конечно же, нет никакой необходимости проделывать всю эту работу более одного раза для одного компьютера. Вы можете в любой момент включить adb, подсоединить смарфтон и отдавать ему команды (только будьте, пожалуйста, осторожны!).
Как написано здесь [11], будем пушать некоторую глобальную настройку. Но сперва определите имена пакетов приложений, в которых вы хотели бы оставить настройки прежними. Сделать это можно, например, так:
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 и вы не можете их убрать в настройках, можете делать так, как я показал, через консоль.
Вся эта информация была накоплена мной, когда я сам пытался разрешить проблему выгорания экрана на своем смартфоне, и я надеюсь, что для кого-то эта статья была и интересной, и полезной. Всем удачи!
Буду рад любой обоснованной критике по форме и содержанию статьи.
Автор: Uncle_Lo
Источник [14]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/android/333836
Ссылки в тексте:
[1] достаточно давно: https://en.wikipedia.org/wiki/Screen_burn-in
[2] неудачные дизайнерские решения: https://forums.androidcentral.com/google-pixel-pixel-xl/764430-navigation-bar-burn.html
[3] меры: https://www.reddit.com/r/GooglePixel/comments/5ezrv9/i_made_something_to_help_correct_navbar_burnin/
[4] определенных органических составов: https://patentimages.storage.googleapis.com/ca/a8/40/2a639e223ba3f1/US8334545.pdf
[5] есть: https://patentimages.storage.googleapis.com/69/c9/3e/aa8b16efe350bf/US8405585.pdf
[6] перечень: https://www.youtube.com/watch?v=dGTHAc_XwWc
[7] OLED: https://en.wikipedia.org/wiki/OLED
[8] выгорание экрана: https://sci-hub.se/https://onlinelibrary.wiley.com/doi/pdf/10.1889/1.2785521#accessDenialLayout
[9] не могут светить вечно: https://www.youtube.com/watch?v=bKUj4F7V1uE
[10] тюнингуют: https://en.wikipedia.org/wiki/Always_on_Display
[11] изловчиться: https://forum.xda-developers.com/nexus-6p/general/guide-hide-navigation-bar-status-bar-app-t3509747
[12] Android Debug Bridge: https://developer.android.com/studio/command-line/adb
[13] Скачиваем нужный архив: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
[14] Источник: https://habr.com/ru/post/472208/?utm_campaign=472208&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.