Сообщество - Android
Добавить пост

Android

738 постов 7 538 подписчиков

Популярные теги в сообществе:

Восстановить гугл аккаунт

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

Восстановить гугл аккаунт Аккаунт, Android, Длиннопост
Показать полностью 1

24 способа съэкономить заряд батареи своего смартфона

24 способа съэкономить заряд батареи своего смартфона Жизненно, Телефон, Android, Смартфон, Лайфхак, Гаджеты, Мобильные телефоны, iPhone, Apple, Xiaomi, Samsung, Литий-ионные аккумуляторы, Батарея, Аккумулятор, Ремонт телефона, Длиннопост

Поговорим об автономности и причинах, из-за которых наши смартфоны быстро садятся.

Это будет объективный топ рекомендаций, которые основаны на личном опыте и прочитанной литературе.

Без понятия, что ты думаешь о подобных постах, но попробовать хочу.

————————————————————————————

Топ рекомендаций по увеличиению времени автономной работы наших смартфонов

*Рекомендации подойдут для владельцев смартфонов почти всех брендов (за ноунейм китайцев не впрягаюсь)

**Показано на Xiaomi Redmi Note 9 2020 года, MIUI 12.5, Android 11

Первая часть будет состоять из рекомендаций для оптимизации системы (приложения, оболочка и т.п.)

Вторая часть — те, которые применимы вне смартфона (адаптер, кабель и т.п.)

————————————————————————————

Часть 1

• Отключи рекламу везде, где это возможно

Пример в виде браузера. Изучи настройки своего и попробуй заблокировать в нём рекламу

24 способа съэкономить заряд батареи своего смартфона Жизненно, Телефон, Android, Смартфон, Лайфхак, Гаджеты, Мобильные телефоны, iPhone, Apple, Xiaomi, Samsung, Литий-ионные аккумуляторы, Батарея, Аккумулятор, Ремонт телефона, Длиннопост

Блокировка рекламы в Яндекс.Браузере

Бывает, что реклама скрывается под другими названиями. Например, так выглядит реклама на устройствах Xiaomi

«Рекомендации» в Безопасности и Загрузках Xiaomi

• Если ты не пользуешься NFC, Wi-Fi, Bluetooth, Автояркостью или тебе не нужна вибрация, то выключи их

Постоянно включенные, они тратят батарейку.

• Удали приложения, которыми ты не пользуешься или пользуешься очень редко

Все установленные приложения работают в фоне, даже если ты задействовал их всего 1 раз.

• Не используй левые «ускорители» смартфона

Лично пользовался 3-мя и не увидел толка от них. При этом системный очиститель «ест» меньше, а делает больше.

• Проверь наличие вирусов

Иногда, это единственная причина быстрой разрядки.

• Включи режим полёта, когда идёшь спать

При включённом режиме большинство сетевых и беспроводных подключений становятся неактивными. Это снижает расход заряда в режиме ожидания.

• Выключи настройки, которые держат телефон «в напряжении»

Геолокация Google или, так называемый, «Обмен с окружением» — хороший пример бесполезных настроек

Отключение геолокации Google

Отключение Обмена с окружением (все ползунки должны быть выключены)

***Больше об этих сервисах читай по ссылке (пост в телеграм)

• Ограничь разрешения и уведомления у приложений

Отключаем доступ к интернету всем приложениям, которым он не нужен. Уведомления настрайвай под себя: нужны — оставляй, нет — вырубай

Ограничение Интернета и работы в фоновом режиме на Redmi

То же самое и с доступом к геопозиции

Запрет на доступ к геопозиции

• Скачивай Lite-версии приложений

Это могут быть игры или соцсети

24 способа съэкономить заряд батареи своего смартфона Жизненно, Телефон, Android, Смартфон, Лайфхак, Гаджеты, Мобильные телефоны, iPhone, Apple, Xiaomi, Samsung, Литий-ионные аккумуляторы, Батарея, Аккумулятор, Ремонт телефона, Длиннопост

Lite-версии PUBG, TikTok и SHAREit в Play Market

Не забывай, что Lite-версии ограничены по функционалу, а в случае с играми — настройками графики.

• Снизь яркость и включи тёмную тему

• Отключи или удали ненужные предустановленные сервисы

Печать, Netflix, Mi Coin и другие подобные сервисы занимают место, работают в фоне и не несут в себе никакой пользы (оставь, если пользуешься).

• Устанавливай последние доступные обновления для своего устройства (спорно)

Многие говорят, что нужно кровь из носу всегда устанавливать последнее обновление, ведь там оптимизирована зарядка и производительность батареи.

Ни я, ни мои знакомые не увидели никакой разницы — что прошлогодняя версия, что скачанная позавчера. Вообщем, решай сам.

• Удали бесполезные для тебя виджеты с экрана

Виджеты активны 24/7 и для этого они «питаются» от батарейки.

• Закрывай приложение после использования, если оно тебе не пригодится в ближайшее время

Я говорю про раздел «Недавние». Он вызывается кнопкой в виде квадратика или при длинном свайпе вверх (можешь закрыть все приложения разом, нажав на крестик)

24 способа съэкономить заряд батареи своего смартфона Жизненно, Телефон, Android, Смартфон, Лайфхак, Гаджеты, Мобильные телефоны, iPhone, Apple, Xiaomi, Samsung, Литий-ионные аккумуляторы, Батарея, Аккумулятор, Ремонт телефона, Длиннопост

Раздел «Недавние»

• Включай режим энергосбережения

Даже в том же Яндекс.Браузере это есть

Режим энергосбережения в Яндекс.Браузере

————————————————————————————

Часть 2

• Не оставляй смартфон заряжаться на всю ночь

Из той же оперы:

— не заряжай больше 80%

— не разряжай ниже 20%

С этим связано много мифов, и, на самом деле, это действительно мифы. Всё, что описано выше, делать не стоит.

Прочитай подробнее про это здесь, если тебя заинтересовало (пост в телеграм)

• Не накрывай телефон одеялом, не клади на батарею или в морозилку во время зарядки

Представь себя в жару +30°С, тебя загоняют в баню, после которой ты выходишь загорать.

Именно так выглядит жизнь наших «подручных», когда мы накрываем их в жару или охлаждаем в мороз.

• Снимай чехол во время зарядки (спорно)

Долгое время снимал чехол, когда ставил сотик на зарядку. 2 недели назад забыл, пришёл, к щеке приложил и понял, что забывать не стоит.

Мелочь, а бывает.

• Заряжай смартфон только оригинальным кабелем и блоком питания

Купив «случайный» комплект зарядки, ты рискуешь с бо́льшей вероятностью получить некачественную сборку. Следствие: быстрая деградация аккумулятора, возгорание или даже взрыв

• Скрытые дефекты

При падении внешних повреждений может и не быть, а компоненты смартфона могли пострадать.

Про попадание воды и песка внутрь корпуса, я думаю, говорить не стоит.

• Береги смартфон от экстремальных температур

+35 или -35°С не понравятся твоему смартфону в принципе. Для таких условий есть специальные, подстроенные под них, устройства.

• Наблюдай за реакцией телефона, когда ты подключаешь его к зарядке

Если стал «кушать» раз через раз или вообще перестал, то, в основном, это может быть из-за следующих 7 причин:

— неплотный контакт кабеля с разъёмом (изменить положение или прижать плотнее)

— ошибка в программном обеспечении (перезагрузить гаджет)

— подкосило или засорился разъём для зарядки; там же контроллер питания (почистить, починить самостоятельно, отдать в сервис или купить новый смартфон)

— кабель вышел из строя (найти другой: купить, попросить, одолжить и т.п.)

— блок питания поломался (приобрести новый)

— «умер» аккумулятор (аналогично пункту про разъём, кроме чистки)

— неисправна плата (разобраться самому, отдать в сервис, купить новую плату или телефон)

• Вспомни, было ли такое, что заряд батареи резко терял проценты или, наоборот, «накапливал»

Если ответ положительный, то стоит задуматься о замене аккумулятора.

• Следи за состоянием батареи: выпуклость, вздутие и неприятный запах

В этом случае железобетонно замени аккумулятор или смартфон.

Вывод:

Напоследок скажу, какие повседневные процессы разряжают смартфон быстрее всего:

• съёмка и просмотр фото/видео в высоком разрешении

• максимальная яркость экрана

• «тяжёлые» игры

• детализированные динамические анимации

• анимированные и «необычные» виджеты

• любые экстремальные условия (бенчмарки, стресс-тесты и резкие перепады температур).

И помни: то, что нам заявляют производители — это лабораторные условия.

Подпишись: Источник (телеграм)

Показать полностью 24
Android

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Отвал флэш-памяти типа eMMC - весьма частая болячка смартфонов и планшетов, которая массово преследует современные девайсы на протяжении вот уже более 10 лет. Симптомы проблемы знакомы многим читателям: смартфон виснет на заставке, системные приложения регулярно вылетают, или настройки системы внезапно перестают сохраняться. Сам процесс замены флэш-памяти требует навыков перекатки и пайки BGA-чипов, оборудования (трафареты для реболла, программатор с колодками, опционально подогрев) и понимания того, как работает загрузчик той или иной аппаратной платформы, поэтому в СЦ за эту процедуру могут взять достаточно большую сумму. На некоторых девайсах менять память уже совсем невыгодно, особенно когда другой такой-же аппарат стоит полторы тысячи рублей на барахолке, но воспоминания о любимом девайсе порой гораздо дороже, чем сумма за ремонт смартфона. Год назад я уже писал материал о загрузке Android с MicroSD при условии того, что eMMC ещё подает хоть какие-то признаки жизни, а сегодня я вам расскажу о способе загрузить систему с флэшки уже после того, как чип флэш-памяти отказал и ушёл в read-only. Сегодня мы с вами: узнаем о том, какие типы флэш-памяти существуют и причины их отказа, разметим MicroSD-флэшку и запишем на неё образ системы, пропатчим пути монтирования в boot.img, а также узнаем, как теперь запускать наш смартфон и посмотрим, сможет ли он работать достаточно шустро с MicroSD флэшки! Интересно узнать, как вернуть жизнь таким легендам, как Google Nexus? Тогда добро пожаловать под кат!

❯ Почему отказывает флэш-память?


Как я уже говорил в вводном абзаце, проблема внезапно отваливающейся флэш-памяти существует вот уже более 10 лет. Ещё с выходом iPhone 3Gs/4, мастера познакомились с такой болячкой, как внезапное падение устройства в режим DFU и отказ прошиваться через iTunes. Ближе к выходу Galaxy S III, HTC Desire и Wildfire, LG Nexus возникла потребность в программаторах, поскольку чипы eMMC в этих смартфонах очень часто помирали «сами по себе» из-за косяков производителя флэш-памяти. Более опытная часть моих пользователей может вспомнить такие проблемы, как отказ входа в HSPL (загрузчик HTC), бесконечная загрузка с отказом прошиваться в режиме Odin на самсунгах, падение смартфонов на базе чипсетов Qualcomm в режим 9008 (QHSUSB_BULK), а также внезапное прекращение работоспособности девайса даже при наличии адекватного потребления и реакции на кнопку включения.

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

В относительно современных смартфонах используется два типа чипов флэш-памяти с разными протоколами: NAND и eMMC (в современных чаще используется UFS — наследник eMMC с дифференциальным протоколом, вместо MMC). Устройства конца 2000х годов чаще использовали флэш-память типа NAND с Legacy-протоколом, который требовал ручного управления SPARE-страницами и расчета кода коррекции ошибок (ECC), чем занималось отдельное периферийное ядро в процессоре, называемое NAND-контроллером. Момент, когда нужно «приговорить» флэш-память и перевести её в режим read-only решал не сам контроллер, а драйвер NAND в прошивке устройства — и обычно он был весьма лоялен даже к «сыпящейся» памяти. Кроме того, NAND-контроллер позволял практически напрямую взаимодействовать с чипом флэш-памяти, благодаря чему в загрузчиках типа U-boot есть команда для очистки таблицы Bad-блоков и низкоуровневого форматирования флэш-памяти, дабы в дальнейшем контроллер попробовал пересчитать бэды и, потенциально, вернул некоторое число блоков обратно в строй. Такой тип «флэшек» помирал значительно реже, в основном из-за того, что софт (на моём опыте) практически никогда не уводил флэшку в read-only, «добивая» её до последнего. Из минусов такого подхода — если флэш помирала совсем, то данные из нее можно было достать только с помощью программатора, да и то не факт.

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

В моей довольно большой коллекции нет ни одного смартфона с Legacy NAND, где флэш бы действительно «приехала», хотя на форумах мастеров иногда встречаются старые сообщения о замене флэши на телефонах Nokia.

Второй тип памяти появился примерно в начале 2010х годов и имя ему — eMMC. Фактически, eMMC — это адаптация интерфейса MMC для использования в виде обычных чипов памяти, а не карточек, совместимая с спецификацией ~SDHC. Если выпаять чип с телефона и припаять сигнальные линии к обычному SD-кардридеру на ПК — он будет работать и определяться как полноценный диск! Таким образом, на некоторых смартфонах можно заменить eMMC на MicroSD напрямую припаяв флэшку на место чипа к соответствующим сигнальным линиям. Однако работать такое будет только если у вашего смартфона «бутербродная» компоновка, где ОЗУ припаяна поверх процессора (MTK и Spreadtrum в пролете). В eMMC используется память типа NAND, которой управляет не чипсет, а встроенный в сам чип памяти контроллер, работающий с протоколом MMC и имеющий собственную прошивку и карту бэд-блоков. Такая флэш-память может самостоятельно уходить в режим read-only когда это посчитает нужным контроллер, зачастую не давая смартфону загрузится, но при этом потенциально сохраняет данные пользователя и позволяет их прочитать дома (сделав дамп памяти устройства и смонтировав раздел userdata в Linux). Однако всё равно иногда данные теряются безвозвратно. Нюанс в том, что состояние eMMC определяет сам контроллер в чипе — поэтому «оживить» его дома и вывести из read-only невозможно. Однако я слышал, что на некоторых «бракованных» чипах памяти (в основном Samsung 2012-2013 годов), которые ушли в read-only слишком рано, можно подпаяться к тест-поинтам программатором и прошить чуть более свежую прошивку с другой ревизии этого же чипа памяти. Флэшка, бывало, оживала.

В некоторых случаях, eMMC были бракованными с завода и помирали сами по себе (!) через короткое время (около года) после покупки устройства. Я знаю как минимум два примера массового брака флэш-памяти: смартфоны HTC 2011-2012 годов, которые время от времени страдали от валящихся чипов Hynix (это касается не всех устройств, многие дожили), хотя я лично видел не так много HTC'шек с дохлой памятью, так что здесь читатели-сервисники с опытом работы в те годы могут только подтвердить или опровергнуть мои слова. А вот подтвержденный пример — смартфоны и планшеты Samsung 2012-2014 годов. Galaxy S3 с артефактами на дисплее при включении, S4 Mini в 9008 или повисшие на заставке, S4 с теми же симптомами, S4 Zoom, которые практически все померли «сами по себе» после обновления до 4.4 KitKat, N8000… Добавьте к этому слабые NC-пятаки, которые срывает при попытке снять чип феном, близко расположенный «бутербродный» процессор, который легко «убить», если орудовать феном, компаунд… и по итогу многие мастера просто спиливали чип дремелем. А что ещё делать!?

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

По итогу, нам остаётся искать софтварные способы загрузить систему с внешней MicroSD флэшки. И я нашел два таких способа! Первый — предварительно подготовить образ boot.img и прошить его в смартфон вместо recovery, дабы если память ушла в read-only, мы могли просто «дуалбутнутся» во второй образ с пропатченными точками монтирования системных разделов на MicroSD. А о втором, к сожалению, знают лишь единицы, хотя это просто замечательный способ, который позволяет загрузить систему уже «пост-фактум» после ухода флэшки в read-only и требует некоторых манипуляций с fastboot! Давайте же рассмотрим его подробнее.

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Нашим подопытным будет рабочий смартфон Alcatel OT-5020D 2013 года выпуска, который пока не подает признаков помирающей eMMC: к сожалению, смартфонов с полудохлой памятью и разлоченным бутом у меня не оказалось, дохлые флэшки я иногда меняю и сам :) Но тем не менее, грузиться мы в любом случае будем с флэшки и вы сможете повторить все шаги в статье, дабы загрузить систему с MicroSD самому!

❯ Подготавливаем систему


Друзья! Для следующих действий, вам понадобится разблокированный загрузчик или устройство, на котором с завода загрузчик не заблокирован. Главный критерий — наличие режима fastboot.

  • Какие устройства не подойдут: многие смартфоны на базе чипов Spreadtrum, а также часть смартфонов Samsung на Exynos. Ни те, ни другие частенько не имеют режима fastboot от слова совсем. У Samsung есть режим загрузки с MicroSD (т. н. T-Flash Mode), но ядро он не грузит.

  • Какие устройства подойдут, но требуется подготовка: все смартфоны от Sony (исключение — Xperia Tipo, забагованный fastboot), Google Nexus (некоторые модели страдали из-за отвалов флэши), современные китайские новодельные noname-смартфоны (с вот таким патчем), Xiaomi, Meizu. Чипсеты: MediaTek 67xx/Qualcomm Snapdragon, возможно Kirin. Таким устройствам требуется предварительная разблокировка загрузчика.

  • Какие устройства подойдут даже при условии уже мертвой флэш-памяти: большинство девайсов на базе чипсетов MediaTek прошлого десятилетия, особенно бюджетных: MT6572, MT6582, MT6592, MT6580, MT6570, MT6575, MT83xx, некоторые Spreadtrum. Это касается Fly, Explay, ZTE и многих других ультрабюджетных смартфонов тех лет. Загрузчик там разблокирован с завода, никакого секьюрбута и верификации загружаемых образов нет. Но не везде можно загрузится в fastboot напрямую (попробуйте громкость вверх и громкость вниз при включении — если сразу грузится в рекавери, то нужно до отказа eMMC включить ADB, если показывает менюшку fastboot, recovery, normal boot — значит все ок).

    Не подойдут: MT6573, MT6571 — там U-Boot (но его тоже можно попробовать заставить грузиться с SD).


Список устройств для потенциальной возможности загрузки с SD весьма большой! Как понять, что eMMC «всё»?

  • Смартфон не реагирует на зарядку и кнопку включения при заряженной АКБ: это не 100% показатель, но если поднимаются питальники с КП и потребление от кнопки есть ~0.1-0.3А — значит процессор вероятно пытается стартовать. Но не откуда. В таком случае, девайс поднять не получится — доступа к fastboot нет, флэшка полностью посыпалась. Исключение — некоторые Qualcomm'ы при наличии прожженного фьюза с завода, разрешающего загрузку с MicroSD могут стартовать ядро, но всё зависит от конфигурации aboot.

  • Смартфон загружается и сразу вылетают приложения, настройки не сохраняются: явный показатель того, что флэша ушла в read-only потенциально не повредив данные. Если смартфон грузится в fastboot — его ещё можно оживить, но не факт что получится вытащить данные (из-за шифрования). Если после сброса до заводских настроек эффект остается тот-же — eMMC приехала 100%.

  • Смартфон висит на заставке, сброс и прошивка не помогает: тоже явная причина: eMMC в read-only. В таком случае, не рекомендуется еще раз шить смартфон в надежде что все заработает, есть шанс что флэша посыпеться окончательно и вы потеряете доступ к fastboot.


Весьма всё просто, согласитесь? Как я уже сказал выше, на некоторых устройствах нужно сначала разблокировать загрузчик. Кое-где это, вероятно, получится сделать и при том что флэша ушла в read-only. Например, на устройствах Sony можно без проблем зайти в fastboot и разлочить устройство с помощью кода, полученного на сайте Sony (используйте VPN, если вы в РФ):

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Как зайти в fastboot — вам придётся погуглить для конкретно своего устройства. Не нашли? Поищите как это делается на других смартфонах, которые работают на том же чипсете. Почти всегда можно зайти, если у вас включена отладка по USB с помощью команды:

adb reboot bootloader

Краткая справка: на устройствах Sony, в Fastboot можно зайти подключив устройство к ПК с зажатой громкостью вниз, на MTK громкость вверх или вниз, на HTC в HSPL, на Nexus'ах в фирменном загрузчике сразу режим Fastboot, на устройствах Tegra — включение с зажатой громкостью вверх, на смартфонах с чипсетом Intel есть fastboot, насколько помню зайти в него можно с помощью громкости вниз.

Команда для разблокировки загрузчика почти везде одна:

fastboot oem unlock

Вас могут запросить код разлочки или просто предупредить о последствиях такого действия. Как узнать, что бут разлочен?

fastboot getvar all

secure, locking и т. п. — отвечают за статус разлочки. Но даже если таких переменных нет, это не всегда значит, что загрузчик заблокирован. Возможно он разблокирован с завода :)

Теперь нам нужен образ раздела boot — boot.img. Его можно найти в файлах родной прошивки устройства, или, иногда, в zip-файлах кастомов. boot.img содержит в себе ядро Linux и небольшой раздел с файловой системой initrd (рамдиск), которая загружается в оперативную память и содержит в себе программы init, adbd, recovery, а также скрипты инициализации, которые управляют загрузкой Android и процессом зарядки (показывают анимацию, когда вы подключаете устройство выключенным к ЗУ. Да, в таком случае Linux тоже грузится!).
Если у вас есть доступ к fastboot, то попробуйте запустить его с помощью команды:

fastboot boot boot.img

Работать она будет не везде, на MTK её поддержка отключена в загрузчиках некоторых устройств. Если вы увидели на экране устройства USB Transferring — половину дела сделана! Если устройство показало лого и анимацию загрузки или ушло в ребут — потенциально, вы сможете загрузить Android с MicroSD. Если ошибка secure-boot — нужно сначала разблокировать загрузчик. Если unknown command — команда не поддерживается :(

Теперь у нас есть возможность загрузить ядро и пропатчить скрипты конфигурации, дабы изменить точки монтирования раздела /system/, /data/ и /cache/ на MicroSD-флэшку, вместо встроенной памяти.

❯ Записываем систему на MicroSD


Обратите внимание: Android очень интенсивно использует ресурс флэшки и постоянно перезаписывает сектора памяти, поэтому не поскупитесь купить нормальную MicroSD флэшку от, например, Transcend, Kingston или Samsung. Дешевые MicroSD флэшки очень-очень быстро (вероятно, за пару дней — это не шутка) выйдут из строя и придется делать всё заново!

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Сначала, нам придется разбить флэшку на три раздела: /system/, /cache/, и /data/. Раздел system будет первым, cache — вторым, data — третьим. При этом раздел /sdcard/ не нужен — он автоматически маппится в /data/media/ на современных версиях Android. Сделать это можно как с ПК с помощью MicroSD-адаптера и fdisk/diskpart/gparted, так и с самого смартфона с помощью того же fdisk в busybox. Я решил это сделать с помощью другого вспомогательного смартфона с TWRP, где изначально был root-доступ через adb! Размеры выбирайте следующие: для системного диска чуть больше или по размерам с system.img (раздел read-only и не «растет» со временем), cache — 100-200Мб, userdata — всё оставшееся место на флэшке.

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Разметили MicroSD? Теперь нам нужно записать на неё образ системы. Тут три пути: если у вас есть Linux-машина, то можете подмонтировать образ system.img из оригинальной прошивки и скопировать все файлы с сохранением прав, закинуть system.img в внутреннюю память другого смартфона с root-доступом и проделать все тоже самое, либо записать с помощью dd образ system.img напрямую в нужный нам раздел флэш-памяти. Я выбрал третий способ:

dd if=/sdcard/system.img of=/dev/mmcblk1p1

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Разделы cache и userdata можно просто форматировать в ext4:

mke2fs -t ext4 /dev/mmcblk1p2
mke2fs -t ext4 /dev/mmcblk1p3

Готово! Необходимые для базовой работы разделы перенесены на MicroSD. Теперь, когда, у нас есть образ системы, нам нужно распаковать родной boot.img устройства и поменять точки монтирования. Я использую кухню MTKImgTools. Идём в Boot -> Unpack -> boot.img. В Unpack/boot/ появятся файлы нашего раздела boot:

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Открываем файл init.rc (в случае MediaTek). Ищем строки с монтированием разделов вида emmc@system, emmc@cache, emmc@userdata и меняем их на /dev/block/mmcblk1p1, /dev/block/mmcblk1p2 и /dev/mmcblk1p3. На некоторых чипсетах, править нужно сразу fstab, или init.<чипсет>.rc:

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Готово! Собираем образ обратно с помощью Boot -> Pack -> boot.img и получаем образ, который нам и надо будет загрузить с помощью fastboot. Копируем boot.img в папку с adb и пробуем загрузить систему. Это будет основная команда для старта загрузки смартфона в будущем:

fastboot boot boot.img

Увидели бутанимацию? Значит система пошла загружаться, нужно лишь подождать первой загрузки 5-10 минут! Система висит на лого или уходит в ребут? Значит, возможно, вы неверно прописали точки монтирования, записали образ system или форматировали раздел userdata. Если система 4.4 и ниже, то можно изменить default.prop, заменив ro.secure на 0 и debuggable на 1. Если вы на Android 5+ — то заменить adbd (не требующий ключи авторизации) в /system/bin на вариант из TWRP и посмотреть logcat и dmesg. Монтируется ли /system/? Загружается ли app_process? На каком этапе стопорится? Всё это пригодится при дальнейшей отладке!

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост
Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Например, такая ошибка при запуске adb shell означает то, что раздел /system/ не монтирован.

Ну а на моем девайсе система уже загрузилась и работает. Но насколько шустро? В комментариях читатели часто говорили, что из-за скорости MicroSD система будет не юзабельной. Насколько это правда? Давайте посмотрим!

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Вывод mount:

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Как мы и видим, /system/, /data/ и /cache/ на MicroSD. custpack и mobile_info, а также nvram трогать не нужно — если в родной флэше они не повреждены, то у девайса без проблем будет работать и сеть, и Wi-Fi.

❯ Можно ли пользоваться?


Наш девайс работает на базе Android 4.2 — казалось бы, совсем старенький дроид, но тем не менее ещё кое-что, да может. Alcatel OT — это бюджетный девайс из 2013 года, но работает он, на удивление, весьма шустро и приятно!

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

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

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

Как насчет браузера? Ставить последний хром, поддерживающий 4.2 смысла нет — уже и он открывает далеко не все сайты. Но те сайты, что пока ещё открывает стандартный браузер почитать ещё можно: например, opennet. На смартфонах с более свежим Android, браузер будет работать относительно адекватно. Зато с соц. сетями проблем особых нет. Telegram, конечно, может конкретно подвесить смартфон в процессе подгрузки картинок с каналов, но потом все будет нормально. Решение одно: отключить автоматическое кэширование картинок и видео!

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

С записью видео ситуация сложная. Даже в профессиональных камерах для 1080p рекомендуются карточки не ниже 10-класса (10Мб/с) и UHS-класса для 2+K видео. На нексусе, это скорее всего превратит девайс в лагодром даже при записе 720p видео: система в фоне так или иначе регулярно читает и записывает данные и рано или поздно мы упираемся в дисковой кэш.

Об играх с динамическим стримингом ресурсов можно забыть, если флэшка достаточно медленная — будут лаги.

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD Опрос, Покупка, Гаджеты, Смартфон, Обсуждение, Microsd, Android, Моддинг, Телефон, Девайс, Linux, Электроника, Emmc, UFC, Nand, Мобильные телефоны, Ремонт, Ремонтники, Видео, YouTube, Длиннопост

А в динамике это всё выглядит так:


Достаточно шустро, для смартфона 2013 года за 4 тыщи рублей?

❯ Заключение


Сегодня мы с вами узнали, каким же образом можно перенести систему на MicroSD! Да, сработает далеко не на всех девайсах, однако сам способ может помочь поднять сотни устройств обратно в строй и сделать их полезными! Это всяко лучше, чем распаивать потенциально рабочие девайсы на «доноров» или, тем-более, отправлять их на мусорку или в чермет. С современными версиями Android ситуация сложнее: и не только из-за большего числа необходимых для загрузки разделов, но и из-за возросших требований к скорости флэш-памяти (упомянутые выше UFS работают на скорости ~500Мб/с), а также, внезапно, стремительно исчезающего слота для MicroSD :(

Надеюсь, материал вам был полезен! Сегодняшняя статья подготавливалась специально в «классическом», более коротком стиле с максимумом конкретики. Если вам больше нравится такой формат, нежели подробный на 15-20+ минут на чтения — напишите в комментариях!

Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :(

А ещё у меня есть Telegram-канал, куда я публикую различные заметки по ремонту, программированию и моддингу девайсов, свои мысли и вовремя публикую ссылки на новый материал!

Полезный материал?
Всего голосов:

Статья подготовлена при поддержке TimeWeb.Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи каждую неделю!

Показать полностью 18 1 1

Конкурс для мемоделов: с вас мем — с нас приз

Конкурс мемов объявляется открытым!

Выкручивайте остроумие на максимум и придумайте надпись для стикера из шаблонов ниже. Лучшие идеи войдут в стикерпак, а их авторы получат полугодовую подписку на сервис «Пакет».

Кто сделал и отправил мемас на конкурс — молодец! Результаты конкурса мы объявим уже 3 мая, поделимся лучшими шутками по мнению жюри и ссылкой на стикерпак в телеграме. Полные правила конкурса.

А пока предлагаем посмотреть видео, из которых мы сделали шаблоны для мемов. В главной роли Валентин Выгодный и «Пакет» от Х5 — сервис для выгодных покупок в «Пятёрочке» и «Перекрёстке».

Реклама ООО «Корпоративный центр ИКС 5», ИНН: 7728632689

Найти телефон станет легче

Google запустила сеть «Найти устройство» (Find My Device). Технология позволит искать потерянные смартфоны и другую технику при участии смартфонов окружающих.

Найти телефон станет легче Смартфон, Google, Android, Мобильные телефоны, Длиннопост

Сеть «Найти устройство» ищет устройство с помощью других устройств с Android 9 и новее. Если пользователь пометил свой девайс как пропавший, смартфоны других людей рядом начнут передавать владельцу местоположение устройства. Поиск через сеть сработает даже если устройство отключили от сети — оно будет общаться с гаджетами поблизости через Bluetooth.

Pixel 8 и 8 Pro можно найти даже в отключенном состоянии. Для этого Google добавила в фирменные смартфоны «специальное аппаратное обеспечение». Компания работает с другими производителями, чтобы расширить список устройств с такой возможностью.

На первом этапе сеть «Найти устройство» работает в США и Канаде. Пока получится найти только смартфоны и планшеты под управлением операционной системы Android, а в будущем появится поддержка наушников и Bluetooth-маячков.

Данные о местоположении зашифрованы с помощью ключа, который доступен только владельцу. Ни Google, ни владельцы потерянных устройств не могут идентифицировать владельцев Android-устройств, которые предоставили данные о местоположении для поиска пропажи.

У сети есть три режима работы:
— Девайс не участвует в сети. Его нельзя найти через сеть и оно не помогает в поиске устройств других людей. Прежний онлайн-режим поиска работает.
— Девайс участвует в сети только в зонах скопления других устройств. Например, в аэропорте или на городских площадях. «Чтобы помочь найти потерянный предмет, информация о местонахождении устройства используется только в том случае, если другие участники сети также обнаруживают этот предмет».
— Девайс участвует в сети повсюду. «Чтобы помочь найти потерянный предмет, сеть может использовать информацию о местонахождении только вашего устройства, если оно единственное в сети, которое обнаружило этот предмет».

По умолчанию сеть активирована в зонах скопления других устройств. Сменить настройки можно в приложении «Найти устройство».

Больше новостей в нашем Telegram канале, подписывайтесь!

Показать полностью 1

TECNO Spark 20 Pro+: обзор

Новейшая модель Tecno Spark 20 Pro + является кульминацией серии Spark 20 и включает в себя все, что производитель может предложить в этом ценовом диапазоне, не разоряя банк. И хотя Spark 20 Pro+ не является флагманом, он, безусловно, выглядит как таковой.

Дорогие друзья!! подписывайтесь ставьте стрелку верх

Начиная с изысканного дизайна, Tecno Spark 20 Pro + сразу привлекает ваше внимание. Он имеет изогнутый профиль с тонкой блестящей рамкой и задней панелью, обтянутой веганской кожей, которая невероятно приятна на ощупь. Телефон имеет класс защиты от пыли и брызг IP53.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

6,78-дюймовый AMOLED-дисплей высочайшего качества с 1B цветами, расширенным разрешением 1080p и частотой обновления 120 Гц. Он поддерживает постоянное включение и имеет динамическую анимацию в виде островка вокруг крошечного отверстия.

Spark 20 Pro + работает на чипсете Helio G99 Ultimate в сочетании с 8 ГБ оперативной памяти и 256 ГБ хранилища. Также доступно расширение microSD.

Компания Tecno оснастила Spark 20 Pro + основной камерой на 1080 Мп с 3-кратным зумом внутри сенсора и селфи-камерой на 32 Мп. На задней панели также есть 2-мегапиксельная макро-камера и один небольшой вспомогательный датчик неизвестного назначения.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Наконец, список спецификаций завершается парой динамиков, аккумулятором емкостью 5000 мАч, способным выполнять быструю проводную зарядку мощностью 33 Вт, и новейшей ОС Android 14.

Краткое описание технических характеристик Tecno Spark 20 Pro +:

  • Корпус: 164,7x75,0x7,6 мм, 179 г; Стекло спереди, пластик сзади, пластиковая рама; IP53, пыле- и брызгозащищенный.

  • Дисплей: 6,78 "AMOLED, 120 Гц, 1000 нит (пик), разрешение 1080x2436 пикселей, соотношение сторон 20,3: 9, 393ppi; Gorilla Glass 5.

  • Чипсет: Mediatek Helio G99 Ultimate: восьмиядерный (2x2,2 ГГц Cortex-A76 и 6x2,0 ГГц Cortex-A55); Mali-G57 MC2.

  • Память: 256 ГБ 8 ГБ оперативной памяти; microSDXC.

  • ОС / программное обеспечение: Android 14.

  • Широкая (основная) камера заднего вида:: 108 Мп, f/1.8, 1/1.67", 0.64мкм, PDAF; Макросъемка: 2 Мп, f/2.4.

  • Фронтальная камера: 32 Мп, f/2.2, (широкая).

  • Захват видео с :: 1440p при 30 кадрах в секунду, 1080p при 30 кадрах в секунду; Фронтальная камера: 1080p при 30 кадрах в секунду.

  • Аккумулятор: 5000 мАч; проводная мощность 33 Вт.

  • Возможности подключения: LTE; Две SIM-карты; Wi-Fi 5; BT 5.2; NFC; FM-радио.

  • Разное: Сканер отпечатков пальцев (под дисплеем, оптический); стереодинамики.

Наша единственная жалоба на данный момент касается излишне большого корпуса камеры, который в основном предназначен только для показухи, а без него Spark 20 Pro + могла бы выглядеть еще изящнее.

Распаковка Tecno Spark 20 Pro +

Розничная коробка Tecno Spark 20 Pro + является воплощением полной комплектации, когда речь заходит о смартфоне. В комплект входит адаптер питания мощностью 33 Вт, кабель USB-C-A и даже пара наушников USB-C.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

В комплект поставки Tecno также входят прозрачный силиконовый чехол и стеклянная защитная пленка для экрана с твердостью 9H.

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

Мы действительно не могли желать большего!

Дизайн, качество сборки, управляемость

Tecno Spark 20 Pro + - невероятно привлекательный смартфон, который легко полюбить. У телефона слегка изогнутые передняя и задняя панели, которые заканчиваются тонкой блестящей рамкой. Защитная пленка экрана изготовлена компанией Corning, точнее, Gorilla Glass 5, а пластиковая задняя панель зеленой модели обтянута веганской кожей с искусственными стежками вокруг корпуса камеры.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

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

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Tecno Spark 20 Pro + имеет класс защиты от пыли и брызг IP53.

Естественно, 6,78-дюймовый AMOLED-экран занимает всю переднюю панель. У него приятные тонкие и ровные рамки, а его небольшое отверстие не является бельмом на глазу. Еще лучше то, что Tecno разработала классную анимацию в стиле Apple, которая имитирует и расширяет функциональность Dynamic Island. В верхней рамке нет видимых датчиков. Все красиво спрятано или находится под самим дисплеем. На случай, если вам интересно, индикатор уведомления отсутствует.

Под экраном установлен датчик отпечатков пальцев, который работает так же быстро и надежно, как большинство современных устройств.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Кожаная задняя крышка Tecno Spark 20 Pro + приятна как на вид, так и на ощупь. Он оснащен огромным круглым островком камеры, на котором расположены основная камера на 108 Мп, макро-камера на 2 Мп, вспомогательный объектив неизвестного назначения и заделанное четвертое отверстие.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Рядом с корпусом камеры расположена вспышка с 4 светодиодами.

Мы не можем не считать этот помпезный дизайн совершенно ненужным и фальшивым. Мы думаем, что Spark 20 Pro + мог бы выглядеть еще лучше с одной скрытой или едва выступающей камерой вместо этой пустой громадины. Но это только для нас.

В любом случае, вот характеристики Sparo 20 Pro +. Вы можете заметить стереодинамики на верхней и нижней сторонах.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Тонкая глянцевая рама Tecno Spark 20 Pro + не обеспечивает никакого сцепления. Хуже того, из-за нее практически невозможно поднять Spark, лежа на столе. Но задняя панель обладает достаточной текстурой, чтобы телефон чувствовал себя в безопасности в вашей руке, как только вы начнете с ним работать.

Чехол, входящий в комплект поставки, решит эти проблемы, но лишит его крутого профиля.

В целом, Spark 20 Pro + - это хорошо сложенный смартфон без заметных изгибов или впадин и с красивым дизайном; он нам очень нравится, даже с таким необычным корпусом камеры. И это довольно легкое устройство - всего 179 граммов.

Дисплей

Tecno Spark 20 Pro + оснащен 6,78-дюймовым AMOLED-экраном с разрешением 1080 x 2436 пикселей, 1B цветами и частотой обновления 120 Гц. Его защищает слегка изогнутое закаленное стекло с небольшой перфорацией для селфи-камеры.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Tecno рекламирует панель как способную к максимальной яркости до 1000 нит. Никаких других официальных измерений предоставлено не было.

Мы завершили тестирование дисплея, и максимальная зафиксированная вручную яркость составила 549 нит. Минимальная яркость в point white составила всего 2,3 нит.

Телефон поддерживает функцию sunlight boost, но, к сожалению, мы не смогли ее активировать. Даже с включенной этой опцией разрешение экрана не превысило 549 нит. Возможно, Tecno исправит это с помощью обновления программного обеспечения позже.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Экран поддерживает широкую цветовую гамму и обеспечивает частоту обновления до 120 Гц.

В телефоне доступны три настройки частоты обновления - 60 Гц, 120 Гц и автоматическое переключение. При 120 Гц и автоматическом снижении частоты обновления до 60 Гц при статическом режиме работы экрана / холостом ходе и для несовместимых приложений HRR, таких как камера и Карты. Auto также использует 60 Гц для просмотра веб-страниц и офисных приложений, в то время как при 120 Гц они будут отображаться со скоростью 120 кадров в секунду.

HDR и потоковая передача

Экран телефона не поддерживает HDR. Однако в нем есть функция Widevine L1 DRM, так что вы можете наслаждаться потоковым видео 1080p.

Время автономной работы

Tecno Spark 20 Pro + питается от аккумулятора емкостью 5000 мАч, что по современным стандартам является стандартным элементом.

Показатель активного использования телефона составил 11: 56 ч, что немного выше среднего показателя для данного класса. Он особенно хорошо работает при просмотре веб-страниц, а также при потоковой передаче видео, но в играх батарея разряжается быстрее, чем у большинства аналогов.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост
TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Примечательно, что Inifinix Hot 40 Pro - единственный телефон из набора выбранных нами прямых конкурентов, который соответствует диагонали экрана Spark 20 Pro + и смог показать лучшие общие результаты, в то время как Poco M6 Pro и Redmi Note 13 Pro 4G отстают от предложений Tecno, хотя имеют дисплеи меньшего размера.

Скорость зарядки

Tecno Spark 20 Pro + поддерживает быструю проводную зарядку мощностью до 33 Вт и поставляется с адаптером питания внутри коробки. Tecno использует собственный запатентованный протокол зарядки, поэтому вам обязательно следует следить за зарядным устройством. Однако кабель Type-C -Type-C является стандартным, и подойдет любой пассивный кабель 3A.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Мы завершили наш тест на зарядку, и Spark 20 Pro + заряжается достаточно быстро. За 15 минут он зарядился на 30%, за 30 минут - на 54%, а 100% (полная зарядка) заняла 72 минуты.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Динамики - громкость и качество

Tecno Spark 20 Pro + оснащен стереосистемой, в наушнике есть два аудиовыхода - передний и верхний. Это несколько улучшает разделение стереозвуков и их баланс, а также затрудняет случайное прикрытие верхнего динамика ладонью. Другой динамик находится внизу, и, хотя он громче и с большим количеством басов, звуковой баланс вполне в порядке благодаря продуманному расположению.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Динамики получили очень хорошую оценку в нашем тесте. Качество звука хорошее - высокие частоты хорошо представлены, вокал хороший, но басов заметно не хватает. В Spark 20 Pro + реализовано усовершенствование DTS для настройки динамиков. Также есть поддержка Hi-Res Audio и Hi-Res Audio Wireless.

Возможность подключения

Spark 20 Pro + поддерживает только LTE, что означает отсутствие 5G. Он по-прежнему поддерживает 4G / LTE одновременно в обоих слотах nano-SIM. Для определения местоположения доступна поддержка GPS и ГЛОНАСС. Локальное подключение обеспечивается двухдиапазонным Wi-Fi ac, а также Bluetooth 5.2 с поддержкой LE. Мы обнаружили, что Wi-Fi на нашем устройстве для обзора работает немного нестабильно, с постоянными падениями скорости и тайм-аутами. Надеемся, Tecno исправит это в обновлении. Телефон может воспроизводить звук в высоком разрешении 24 бита / 192 кГц и беспроводной связи Hi-Res. Spark 20 Pro + оснащен встроенным FM-радиоприемником и NFC. Однако в нем нет аудиоразъема 3,5 мм и ИК-бластера.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Стандартное подключение для передачи данных USB 2.0 поддерживает резервную копию порта Type-C. Это означает теоретическую максимальную скорость передачи данных в 480 Мбит / с. В этом нет ничего особенного без поддержки чего-либо вроде вывода видео через USB в альтернативном режиме. Однако есть поддержка USB Host / OTG.

Spark 20 Pro + оснащен довольно приличным набором датчиков. Есть комбинированный акселерометр lsm6dso и гироскоп. Комбинированный магнитометр mmc5603 и компас. Датчик освещенности sensortek stk35f62. К сожалению, на борту, похоже, есть только виртуальный датчик приближения. Устройство выдает себя за что-то вроде Elliptic Labs, но, похоже, оно работает только тогда, когда распознает жест поднятия и вы подносите телефон к указателю года выпуска. Это означает, что вы не можете ожидать от него чтения в приложениях сторонних производителей. С положительной стороны, он довольно хорошо и последовательно отключает дисплей во время звонков. Барометра нет.

HiOS 13 поверх Android 14

Довольно интересная разработка - Spark 20 Pro + на самом деле не работает под управлением последней версии Tecno HiOS 14, как это делает Pova 6 Pro. По крайней мере, это верно для нашего раздела обзоров на момент написания статьи. Вместо этого мы получаем HiOS 13.6.0. Tecno рекламирует HiOS 14 для телефонов на своем официальном сайте, так что, вероятно, она скоро появится на горизонте.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Если говорить о более позитивном моменте, то, по крайней мере, телефон по-прежнему работает под управлением последней версии Android 14 от Google, хотя и с довольно старым исправлением безопасности от 1 декабря 2023 года. Мы уже видели, что может предложить HiOS 13. Вы можете обратиться к этой статье для получения более подробной информации.

Tecno не дает никаких обещаний поддержки программного обеспечения, но мы предполагаем, что Spark 20 Pro + получит по крайней мере одно крупное обновление операционной системы.

Несмотря на то, что технически Spark 20 Pro + работает под управлением более старой версии HiOS, он по-прежнему обладает некоторыми расширенными функциями. Например, настраиваемая функция "Всегда включен" дополняет дисплей AMOLED.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Здесь есть игровой режим, но он, похоже, не такой полнофункциональный, как Game Space 4.0, который мы видели на Pova 6 Pro. Интеллектуальная панель, как всегда, изящна. Это настраиваемая боковая панель, которая используется для открытия приложений в плавающих окнах. Кстати, в HiOS есть мощная многооконная функция Lightning Multi-Window.

Как уже упоминалось, одной из самых интересных функций пользовательского интерфейса Spark 20 Pro + является динамический порт. Он действует как динамический остров iPhone, предоставляя контекстную информацию и интерактивные всплывающие окна вокруг фронтальной камеры. На самом деле это одна из лучших версий этой функции для Android.

Tecno также может похвастаться некоторыми новыми оптимизациями программного обеспечения на базе искусственного интеллекта в Spark 20 Pro +. "Aurora Engine" обещает увеличить время запуска популярных игр до 85% и популярных приложений до 95%. "Darwin Engine" также обещает оптимизацию частоты кадров до 8 раз и снижение средней температуры.

Тесты и производительность

Чипсет MediaTek Helio G99 обеспечивает работу Tecno Spark 20 Pro +. "Окончательный" вариант указанного чипа, если быть точным, также официально обозначается как MT6789U. Мы не совсем уверены, что именно означает фирменный знак "Ultimate", поскольку тактовые частоты процессора и графического процессора технически одинаковы во всех многочисленных вариантах чипа G99. Несмотря на это, G99 - это довольно новый чип 2022 года выпуска, изготовленный по 6-нм технологическому процессу TSMC.

Центральный процессор состоит из двух ядер ARM Cortex-A76 с тактовой частотой до 2,2 ГГц и еще шести ядер Cortex-A55 с тактовой частотой до 2,0 ГГц. Встроенный графический процессор Mali-G57 MC2 с тактовой частотой 1,1 ГГц. Он поддерживает OpenGL ES 3.2 и Vulkan 1.1.

Tecno Spark 20 Pro + поставляется только в одном варианте памяти с 8 ГБ оперативной памяти LPDDR4X и 256 ГБ накопителя. Согласно нашему тестированию, чипы памяти, похоже, относятся к разновидности UFS 2.1. Хранилище можно расширять с помощью карты microSD. Также доступно до 8 ГБ виртуальной памяти.

Переходя к некоторым реальным тестам, давайте начнем с некоторых показателей процессора и GeekBench. Helio G99 - не особенно мощный чип, но мы должны помнить, что Tecno Spark 20 Pro + - не особенно дорогое устройство. На самом деле, совсем нет. В соответствующей ценовой категории G99 вполне справляется с тем, что мы бы назвали производительностью процессора "среднего уровня"

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Вы можете добиться заметно лучшей производительности с помощью таких устройств, как Dimensity 6080, Snapdragon 4 Gen 2 или Snapdragon 695. Тем не менее, фактическая разница в производительности не так уж велика, особенно с точки зрения процессора, и она не так уж сильно повлияет на реальное использование.

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

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

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

С практической точки зрения, не ожидайте приятного времяпрепровождения с более тяжелыми играми на Spark 20 Pro +. Тем не менее, обычные игры работают отлично. Пользовательский интерфейс также работает плавно, без заметных замедлений и сбоев.

Терморегулирование

Известно, что MediaTek Helio G99 не отличается высокой работоспособностью. Spark 20 Pro + отлично справляется с терморегулированием и в целом сохраняет максимальную производительность даже при длительных испытаниях.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Стабильность производительности не только близка к идеальной, но и поверхность телефона не становится более теплой.

Настройка двойной камеры с основным экраном высокого разрешения

Как уже упоминалось, Spark 20 Pro + создает мощную атмосферу камеры благодаря массивной круглой задней панели. Это в основном для галочки, и на самом деле Spark 20 Pro + имеет довольно скромную настройку камеры, которая даже не включает сверхширокоугольную.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Если говорить о более позитивном моменте, то основная камера телефона - 108-мегапиксельная с высоким разрешением. К ней прилагается довольно незначительная 2-мегапиксельная макросъемка. Селфи также имеет довольно высокое разрешение - 32 Мп. В настройках камеры нет ничего особенного, но некоторые особенности включают массив вспышек с четырьмя светодиодами на задней панели и вспышку с двумя светодиодами спереди. Кроме того, основная камера может снимать видео с разрешением до QHD.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост


  • Широкий (основной): Samsung s5khm6sx на 108 Мп, f /1.8, 1/1.67", 0.64мкм, PDAF; 1440p при 30 кадрах в секунду, 1080p при 60 кадрах в секунду /30 кадров в секунду

  • Макросъемка: 2 Мп Galaxy Core GC02M1 / GC02M3, f / 2.4.

  • Фронтальная камера: 32 Мп Galaxy Core GC32E1 / Hynix hi3231q, f / 2.2, 1/3.1", 0.7мкм; 1440p при 30 кадрах в секунду, 1080p при 60 кадрах в секунду /30 кадров в секунду

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

Качество фотографий при дневном свете

Основная камера

Основная камера Spark 20 Pro + по умолчанию делает снимки с разрешением около 12 Мп благодаря биннингу пикселей. Эти фотографии в целом выглядят довольно красиво, с большим количеством деталей, очень низким уровнем шума и небольшими дефектами резкости. Цвета тоже выглядят довольно великолепно, возможно, немного насыщенные, но ничего чрезмерного.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

Динамический диапазон неплохой, но мог бы быть и лучше. Иногда яркие моменты имеют тенденцию к обрезке. Контрастность также не помешало бы немного улучшить.

Вы также можете настроить съемку основной камерой в полном разрешении 108 Мп. Естественно, в итоге вы получаете огромные файлы, но при этом заметно улучшается детализация благодаря меньшей резкости и более естественной и непринужденной обработке в целом. Это означает, что на уровне пикселей остается немного больше шума и мягкости, так что в режиме 108 Мп вы что-то выигрываете, а что-то теряете.

TECNO Spark 20 Pro+: обзор Гаджеты, Электроника, Смартфон, Android, Мобильные телефоны, Длиннопост

В Spark 20 Pro + отсутствует специальная телеобъективная камера, но основная камера по-прежнему имеет достаточное разрешение, чтобы делать снимки с очень приличным цифровым увеличением. В пользовательском интерфейсе камеры есть 3-кратный переключатель. В целом, 3-кратные снимки выглядят вполне сопоставимыми по качеству с 1-кратными.

В Spark 20 Pro + отсутствует специальная сверхширокоугольная камера, что сильно снижает ее универсальность. По крайней мере, есть специальная 2-мегапиксельная камера для макросъемки. Она снимает удивительно удобные крупные планы, учитывая ограничения разрешения. Детализации достаточно, а цвета приятные и яркие.

Селфи-камера

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

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

Качество камеры при низкой освещенности

Основная камера Spark 20 Pro + отлично работает при слабом освещении, но не впечатляет. Достаточно детализированная и с очень низким уровнем шума. Цвета также выглядят хорошо.

Качество видеосъемки

Tecno Spark 20 Pro + может снимать видео со скоростью до 1440 кадров в секунду при 30 кадрах в секунду на основную камеру и камеру для селфи. Видео сохраняются в стандартном видеопотоке AVC / h.264 со стереозвуком 48 кГц внутри контейнера MP4. Нет возможности использовать HEVC / h.265. Однако вместо этого можно выполнять запись в формате 1080p со скоростью до 60 кадров в секунду.

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

Селфи-камера сама по себе работает неплохо, но ей немного не хватает детализации и динамического диапазона. Контрастность также не идеальна, и отснятый материал выглядит немного плоским.

Вы можете ознакомиться с приведенным ниже видеосъёмкой

Кадры с обеих камер по умолчанию довольно шаткие. Вы можете использовать режим Super steady EIS. Он работает как с основной, так и с селфи-камерами. Это снижает разрешение до 1080p, что означает, что вы теряете некоторые детали, но не настолько сильно. Тем не менее, это сокращает довольно большую часть кадра.

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

Конкуренция

Цена на Tecno Spark 20 Pro + на момент написания статьи. Он стоит около 20 080 ₽ в единственном варианте 8 ГБ / 256 ГБ. Мы решили использовать более широкую сеть при поиске конкурентов по цене около 20 080 ₽. Несмотря на это, это действительно бюджетные устройства, о которых мы говорим, поэтому ожидается множество уступок.

Давайте начнем с команды Samsung, которой Galaxy A15 подходит по всем параметрам. Это аналогичное устройство, использующее тот же чипсет MediaTek Helio G99. В отличие от Spark 20 Pro +, Galaxy A15 в большинстве вариантов имеет 128 ГБ памяти. Мы настоятельно не рекомендуем приобретать базовую версию с 4 ГБ оперативной памяти и вместо нее выбрать 6 ГБ или 8 ГБ для защиты в будущем. В остальном у A15 вы получаете красивую панель AMOLED, хотя и не такую красивую технически, как у Tecno. Настройки камеры сопоставимы с настройками Tecno, хотя вы также получаете сверхширокий экран для большей универсальности. Захват видео ограничен разрешением 1080p. Аккумулятор такого же размера емкостью 5000 мАч обеспечивает заметно большую долговечность батареи. Стереодинамиков, правда, нет. Стоит отметить, что вы также можете немного увеличить свой бюджет и приобрести вариант Galaxy A15 5G, если вам нужны современные возможности подключения.

У Xiaomi, как ожидается, есть как минимум пара собственных жизнеспособных устройств. Redmi Note 13 4G - отличный выбор в этой ценовой категории. Некоторые из его особенностей включают меньший, плоский, но более яркий AMOLED-дисплей с частотой 120 Гц. Вы также получаете основную камеру Redmi на 108 Мп и сверхширокую камеру на 8 Мп для большей универсальности. Время автономной работы и зарядки этих двух устройств сопоставимы, как и другие характеристики, такие как стереодинамики и защита от проникновения посторонних веществ. Чипсет Snapdragon 685 внутри Redmi не такой быстрый, как Helio G99.

У Xiaomi также есть довольно жизнеспособный кандидат в Poco M6 Pro. Опять же, вы получаете тот же чипсет Helio G99 и сопоставимый 6,67-дюймовый AMOLED-дисплей с частотой 120 Гц. Настройка камеры с 64-мегапиксельной основной камерой не такая впечатляющая на бумаге, но вы получаете 8-мегапиксельную сверхширокую камеру. Хотя Poco и Spark имеют практически одинаковое время автономной работы, с Poco зарядка происходит заметно быстрее.

Наш вердикт

Tecno Spark 20 Pro + - удивительно универсальное устройство для своей очень бюджетной цены. Компромиссов с удобством использования и техническими характеристиками практически нет. Начиная с дизайна, Spark 20 Pro + привлекает внимание и превосходит свой вес. В частности, наша зеленая модель с задней панелью из искусственной кожи выглядит очень премиально. Изогнутый AMOLED-дисплей с довольно тонкими рамками только подчеркивает премиальный внешний вид. Вы даже получаете достойную защиту от проникновения IP53 и Gorilla Glass 5.

Говоря о дисплее, он великолепно смотрится вживую и грамотно справляется с высокой частотой обновления 120 Гц. К сожалению, у нашего устройства есть ошибка с яркостью, но мы полагаем, что с розничными устройствами такого быть не должно.

Время автономной работы достаточно, как и время зарядки. У нас нет никаких претензий к настройке стереодинамиков. Вы получаете FM-радиоприемник, NFC и расширяемый накопитель. Для начала, единственная конфигурация не так уж плоха, предлагая 256 ГБ памяти и 8 ГБ оперативной памяти. Helio G99 Ultimate обеспечивает солидную общую производительность за свою цену, а настройка камеры, несмотря на отсутствие сверхширокополосности, в целом отличается высоким качеством.

Честно говоря, единственная заслуживающая внимания проблема с Spark 20 Pro + - это отсутствие официальной поддержки программного обеспечения, что заставляет нас задуматься о долговечности телефона. Кроме того, Spark 20 Pro + предлагает невероятную стоимость и отличный опыт работы, что делает его простой рекомендацией.

Плюсы

  • Прочный и привлекательный дизайн.

  • Надежная производительность и качество дисплея.

  • Хорошее время автономной работы.

  • Быстрая зарядка.

  • Очень хорошая настройка стереодинамиков.

  • Высокая производительность в целом для своей ценовой категории.

  • Надежная работа основной камеры.

  • Богатая розничная упаковка со множеством аксессуаров.

Минусы

  • Искусственная кожа доступна только для зеленой модели.

  • Sunlight boost пока не работает.

  • Поддержка HDR отсутствует.

  • Wi-Fi на нашем устройстве для обзора работает довольно нестабильно.

  • В нашем блоке обзора не установлена последняя версия HiOS 14.

  • Tecno не дает никаких конкретных обещаний относительно продолжительности поддержки программного обеспечения.

Показать полностью 25

Дмитрий Бачило про ОС Аврора

Nubia Z60 Ultra: Обзор

Привет всем!!! сегодня у нас на обзоре Nubia Z60 Ultra: Этот смартфон Ultra, не похожий ни на один другой, призван предложить альтернативу массовым камерофонам с настройками, которые бросают вызов обычным. Он необычен и в нескольких других отношениях, к тому же предлагается по более чем разумной базовой цене. Давайте посмотрим, стоила ли nubia Z60 Ultra ожидания.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

ZTE, материнской компании, выпускающей телефон, не привыкать к необычному выбору камер, и мы видели несколько моделей с основными блоками, эквивалентными 35 мм, как под брендами Axon, так и под брендами nubia. Однако это, вероятно, самая продвинутая конфигурация из представленных, с большими сенсорами по всему периметру и разумно подобранными фокусными расстояниями, которые выделяют 35-миллиметровый модуль, не оставляя ощущения, что чего-то не хватает.

Z60 Ultra выделяется еще и тем, что он входит в число самых больших смартфонов, которые не сгибаются пополам. Вес 246 г может показаться многоватым, но, по крайней мере, он оснащен аккумулятором емкостью 6000 мАч - это самая большая емкость для телефона, который, во-первых, не является powerbank, а во-вторых, телефоном. Он также должен заряжаться достаточно быстро с помощью адаптера мощностью 80 Вт, хотя мы признаем, что отсутствие беспроводной зарядки нас немного разочаровало.

Также несколько необычной является фронтальная камера Z60 Ultra. Поскольку nubia Z60 Ultra имеет низкий дисплей, она в основном предназначена для людей, которые не пользуются фронтальными камерами - с ней вы не получите отличных снимков, но, по крайней мере, она не будет мешать работе.

Возвращаясь к основным компонентам, в этом Ultra встроен Snapdragon 8 Gen 3 - то есть достаточно мощный, но не уступающий по мощности следующему телефону высокого класса в 2024 году. Стереодинамики также включены в комплект поставки, как и устройство считывания отпечатков пальцев под дисплеем - OLED-дисплеи подходят для этого. Кстати, 6,8-дюймовая панель, возможно, немного отстает по некоторым показателям, но мы поняли, что не можем иметь всего этого.

краткое описание технических характеристик nubia Z60 Ultra:

  • Корпус: 164.0x76.4x8.8 мм, 246 г; пыле- и водонепроницаемость IP68 (расстояние до 1,5 м в течение 30 мин).

  • Дисплей: 6,80 "AMOLED, 1B цветов, 120 Гц, HDR10+, 1500 нит (пик), разрешение 1116x2480 пикселей, соотношение сторон 20: 9, 400ppi.

  • Чипсет: Qualcomm SM8650-AB Snapdragon 8 Gen 3 (4 нм): восьмиядерный (1x3,3 ГГц Cortex-X4 и 3x3,2 ГГц Cortex-A720 и 2x3,0 ГГц Cortex-A720 и 2x2,3 ГГц Cortex-A520); Adreno 750.

  • Память: 256 ГБ 8 ГБ ОЗУ, 256 ГБ 12 ГБ ОЗУ, 512 ГБ 12 ГБ ОЗУ, 512 ГБ 16 ГБ ОЗУ, 1 ТБ 16 ГБ ОЗУ, 1 ТБ 24 ГБ ОЗУ; UFS 4.0.

  • ОС / программное обеспечение: Android 14, MyOS 14.

  • Стандартная (основная) камера заднего вида:: 50 Мп, f / 1.6, 35 мм, 1/1.49", 1.0мкм, PDAF, лазерная автофокусировка, OIS; Сверхширокополосная: 50 Мп, f /1.8, 18 мм, 100, 1/1.55", PDAF, OIS; Телеобъектив: 64 Мп, f / 3.3, 85 мм, 1/2.0", PDAF, OIS, 3,3-кратный оптический зум (по сравнению с 26-мм камерой).

  • Широкая (основная) фронтальная камера:: 12 Мп, под дисплеем.

  • Камера заднего вида Захват видео:: 8K при 30 кадрах в секунду, 4K при 30/60/120 кадрах в секунду, 1080p при 30/60 кадрах в секунду, гироскопическая система, HDR10, 10-битное видео; Фронтальная камера: 1080p при 30 кадрах в секунду.

  • Аккумулятор: 6000 мАч; 80 Вт проводной, PD3.0, QC4.

  • Возможности подключения: 5G; Две SIM-карты; Wi-Fi 7; BT 5.4, aptX HD, aptX Adaptive; NFC; Инфракрасный порт.

  • Разное: Сканер отпечатков пальцев (под дисплеем, оптический); стереодинамики.

Распаковали: nubia Z60 Ultra

Nubia Z60 Ultra поставляется в темной картонной коробке обычного размера с красными вставками для придания яркости. Тема продолжается внутри: красный кабель USB-C с черными разъемами и черное зарядное устройство с, как вы уже догадались, красным разъемом USB-C.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Также в комплект входит прозрачная пластиковая защелкивающаяся задняя крышка, которая также обеспечивает ограниченное покрытие для экстремальных поворотов. Это не спасет Ultra при большинстве падений, но добавит немного защиты, не слишком ухудшая внешний вид.

Дизайн

Z60 Ultra - это один большой телефон, и ему нет оправданий. Плоский дисплей, плоские боковины, плоская задняя панель, острые углы, толстый выступ камеры, занимающий треть задней панели, - это действительно массивный телефон. И она не легкая - при весе 246 г это одна из самых мощных моделей Ultras.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Как бы то ни было, Z60 Ultra действительно обладает этой эстетикой, и только потому, что удобство использования не входит в список его приоритетов, телефон выглядит стильно и вполне удобно лежит как в руке, так и в кармане. Это немного напоминает нам оригинальную Xiaomi Mix и более простые времена почти десятилетней давности.

Что было в этом сочетании, так это подбородок, потому что в те дни у нас не было камер под дисплеем. Мы делаем это сейчас, и nubia не нужно портить свой фасад ни толстой рамкой с одной стороны, ни вырезом для камеры - вместо этого ее пиксели скрыты за пикселями дисплея, создавая безупречный внешний вид. ZTE, вероятно, могла бы пойти еще дальше и придать черной рамке вокруг дисплея одинаковую толщину, но мы бы поняли, если бы у них были соображения помимо внешнего вида.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

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

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Что касается элементов управления, то Z60 Ultra имеет обычные клавиши включения и регулировки громкости справа. Кнопка включения красная с рифлением, так что вы можете отличить ее как на вид, так и на ощупь. Кнопка включения и качелька регулировки громкости выполнены из металла и имеют приятный щелчок.

В дополнение к этим двум стандартным клавишам, есть также ползунок с накаткой, но с перекрестием вместо полоски клавиши включения. Этот режим используется для открытия приложения камеры непосредственно в уличном режиме, которое предлагает некоторые дополнительные функции поверх обычного режима фотосъемки (фильтры зернистости, обзор параметров экспозиции, дополнительный предустановленный уровень масштабирования на 50 мм). В конечном итоге приятно иметь такой специальный ярлык для камеры, хотя мы не до конца уверены, что уличный режим настолько полезен.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

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

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

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

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

Международные покупатели могут приобрести Z60 Ultra в черном или серебристом цвете. Китай дополнительно представлен в синей версии с изображением картины Ван Гога "Звездная ночь" на задней панели и надписью "Звездная ночь" для тех, кто пропускал историю искусств в школе.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Есть также еще одна эксклюзивная для Китая опция под названием Photographer edition. Задняя панель из искусственной кожи и немного матового металла имитируют стиль классической дальномерной камеры. Честно говоря, мы бы не сказали, что все мы слишком огорчены тем, что получили только "простые" цветовые решения.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

6,8-дюймовый непрерывный дисплей

Все это отображается на передней панели Z60 Ultra - ее 6,8-дюймовая панель имеет минимальные рамки по всей окружности, а благодаря камере под дисплеем также нет неприглядных отверстий. У него необычное разрешение - 1,116x2,480px, но, возможно, nubia ориентировалась на плотность 400ppi. Конечно, панель поддерживает частоту обновления 120 Гц, а в Ultra используется ШИМ 2160 Гц для затемнения без мерцания.

Официальные спецификации обещают 1500 нит максимальной локальной яркости. В нашем тестировании телефон показал чуть более 1000 нит при включенной адаптивной яркости или 580 нит при ручной настройке. Конечно, это не рекордные показатели, но и они неплохие.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Частота обновления

Дисплей Z60 Ultra не самый адаптивный с точки зрения частоты обновления - в нем нет режимов 10 Гц или 1 Гц. Все, что мы могли наблюдать, - это падение частоты до 60 Гц, когда вы не взаимодействуете с телефоном в течение нескольких секунд. Это происходит как в автоматическом, так и в 120 Гц режимах - последний также не является фиксированной частотой обновления.

Из положительных моментов можно отметить, что телефон был полностью доволен поддержанием частоты обновления 120 Гц в играх. Собственная игровая утилита также сообщила о частоте кадров вплоть до 120 кадров в секунду. Судя по всему, игровые фишки Red Magic добрались и до Z nubia.

Потоковая передача и HDR

Однако Z60 Ultra не очень любит воспроизводить HDR-контент - он поддерживает только стандарт HDR10, поэтому никаких HDR10 + и Dolby Vision. Мы получали HDR-трансляции с YouTube, но не было HDR с Netflix. Кроме того, поскольку в телефоне отсутствует Widevine L1 (только L3), вы не сможете получать контент с защитой от DRM в полном разрешении - Netflix доступен только в стандартном разрешении.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

время автономной работы nubia Z60 Ultra

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

Действительно, nubia показала лучший результат в своем классе в нашем тесте активного использования. Особенно впечатляющим был показатель почти 11 часов в играх - немногие флагманы могут достичь результата сопоставимого масштаба. Также заслуживает внимания результат 21-часового воспроизведения видео, и хотя 13 часов не столь значительны в тестировании просмотра веб-страниц, это все же показатель выше среднего. Время голосового вызова больше относится к категории "Нормально", но обычно мы уделяем больше внимания тестам на экране.

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

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост
Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Скорость зарядки

Z60 Ultra поставляется с адаптером мощностью 80 Вт, который может передавать ток до 7,25 А при 5 В-11 В или до 3,8 А при 5 В-21 В через порт USB-C. На прилагаемом кабеле нанесена маркировка "9A".

Используя этот адаптер, мы увеличили время зарядки Z60 Ultra с 1% до 100% за 40 минут. На получасовой отметке мы смотрели на 87%, а на 15-минутной контрольной точке телефон показывал 51%. iQOO 12 и OnePlus 12 действительно быстрее, а Xiaomi 14 имеет небольшое преимущество, но давайте не будем забывать, что nubia обладает самой большой емкостью из всех. Плюс, для начала результат совсем не медленный. Имейте в виду, мы получили эти цифры с включенным переключателем "Турбонаддув", в то время как его выключение приведет к незначительному замедлению работы.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

В nubia Z60 Pro отсутствует беспроводная зарядка, как и в iQOO. Однако многие другие модели оснащены индукционной катушкой, и это может так или иначе повлиять на ваше решение о покупке.

Тест динамика

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

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

В ходе нашего тестирования Z60 Ultra получил оценку "Очень хорошо" по громкости - такую же, как Z50S Pro и большинство телефонов в своем классе. Мы не можем сказать, что нам слишком понравилось звучание - оно было относительно тонким, без басов и с общим присутствием в середине переднего ряда (отсюда и высокая встроенная громкость).

MyOS 14 поверх Android 14

nubia Z60 Ultra работает под управлением Android 14 с слоем фирменного программного обеспечения поверх, получившего название MyOS - it too версии 14. Хотя технически это не одно и то же, это в некотором роде то же самое, что и Red Magic OS 9, с которой мы познакомились на Red Magic 9 Pro некоторое время назад. Это сходство проявляется в обширной функциональности утилиты Game Space, которая делает Z60 Ultra замаскированным игровым телефоном.

Среди знакомых и наиболее очевидных настроек в MyOS - область быстрого переключения, где при первом нажатии появляются 4 больших пузырька для подключения Wi-Fi, Bluetooth, мобильных данных и фонарика. Тем временем это стало стандартным дизайном Android, хотя у MyOS все еще есть своя индивидуальность.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Также есть большой регулятор яркости с автоматическим переключением - чего-то не хватает в Android shade по умолчанию и во многих пользовательских сборках.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Как уже упоминалось, Z60 Ultra использует внутриигровую утилиту Game Space, с которой вы, возможно, знакомы по телефонам Red Magic. Оно состоит из двух больших симметричных меню по бокам дисплея, при этом большинство функций легко доступны одним касанием. Вы можете контролировать частоту своего процессора, а также, что особенно важно, частоту кадров в секунду в игре с помощью оверлея.

Большинство интересных и мощных настроек расположены в отдельном подменю в оверлее. X Gravity - это система, которую nubia использует для сопоставления внешних устройств, таких как контроллер или клавиатура и мышь, с элементами управления на экране.

Вспомогательная линия - это способ определения кругов на экране, которые появляются вокруг вашего персонажа и обозначают такие вещи, как область действия определенных навыков или атак. Секундомеры предоставляют игроку множество экранных секундомеров для быстрого определения времени восстановления навыков или заклинаний у врагов. Функция перекрестия создает наложение на экране, а также может увеличивать определенную область кадра. Тем временем AI Trigger ожидает определенного события, скажем, разрядки магазина, и автоматически нажимает на кнопку перезарядки.

Итак, да, возможно, вы пришли сюда из-за системы камер, но, возможно, вы остались ради игрового мастерства nubia Z60 Ultra.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Тесты

Z60 Ultra не выбивается из общей линейки и использует Snapdragon 8 Gen 3 для увеличения производительности. Высокопроизводительный чип Qualcomm для 2024 года выполнен по 4-нм техпроцессу и оснащен восьмиядерным процессором в 1+3+2+2 компоновке (1 ядро Cortex-X4 prime с частотой до 3,3 ГГц). Графический процессор - Adreno 750.

Существует целый ряд конфигураций памяти, начиная от относительно скромных 8 ГБ / 256 ГБ и заканчивая сумасшедшими 24 ГБ / 1 ТБ. Однако не все из них доступны за пределами Китая, и на мировых рынках доступны версии 12 ГБ / 256 ГБ и 16 ГБ / 512 ГБ (возможно, базовый уровень в некоторых локализациях). Мы рассмотрели спецификацию 16 ГБ / 512 ГБ, и ее скорость хранения соответствовала показателям стандарта UFS 4.0.

В тестовых тестах, которые мы проводили для nubia Z60 Ultra, были опубликованы результаты, которые поставили его на первое место среди равных в графическом отделе, а также среди лучших в GeekBench и Antutu. Не было никакого режима производительности или чего-то еще; это просто то, что показывает телефон.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

По нашему опыту, при длительной нагрузке Z60 Ultra вел себя довольно интересно, и не обязательно совсем хорошо.

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

Стресс-тест 3DMark Wild Life - это тот момент, когда ситуация накалилась. Результат стабильности на 67% лучше, чем у многих последних протестированных нами телефонов SD 8 Gen 3 (Galaxy S24 Ultra, Zenfone 11 Ultra, Find X7 Ultra), но nubia достигла этого за счет того, что стала слишком горячей - ее невозможно держать в руках горячей.

Мы понимаем, что, скорее всего, рама используется в качестве радиатора, отводящего тепло от компонентов, которые его генерируют, но это слишком много. Между тем, другие телефоны с таким же набором микросхем (Honor Magic6 Pro и Xiaomi 14 Ultra) показали аналогичные показатели стабильности в 3DMark, не приходя при этом в негодность.

Nubia Z60 Ultra: Обзор Гаджеты, Смартфон, Android, Мобильные телефоны, Длиннопост

Тройная камера, не похожая ни на одну другую

Nubia Z60 Ultra следует по стопам нескольких телефонов под брендами Axon и nubia, оснащенных основной камерой с объективом, эквивалентным 35 мм. Почитаемое в классической фотографии фокусное расстояние 35 мм в основном не используется на смартфонах, где из-за различных задач основная масса основных камер находится где-то на отметке 24 мм. Что ж, ZTE продвигается вперед и продолжает совершенствовать тему, благодаря этой последней установке с еще более совершенным оборудованием.

Тем не менее, 35-мм камера, в частности, явно не отличается от той, что использовалась на Z50S Pro. На самом деле это не так уж плохо, поскольку она уже была лучшей в своем роде (по общему признанию, не получившей широкого распространения) - все остальные модели с разрешением 35 мм используют изображения меньшего размера. Здесь представлен 54-мегапиксельный сенсор Sony с несколько необычным оптическим форматом и соотношением сторон. (1/1.49", 1.43:1) в nubia используется кадрирование фотографий 4: 3, что в общей сложности составляет 12,5 Мп после биннинга 4 к 1. Объектив, эквивалентный 35 мм, состоит из 7 элементов (один из них изготовлен из настоящего стекла) и стабилизирован.

Сверхширокая камера Z60 Ultra не такая сверхширокая, как у большинства конкурентов, в эквиваленте 18 мм, но она прекрасно сочетается с необычно большим фокусным расстоянием основной камеры. Видите ли, er ultrawide привел бы к слишком большому разрыву в охвате между ними, что было в случае с Z50S Ultra и большинством Axons, за заметным исключением 30 Ultra (у которого была дополнительная 26-мм камера в дополнение к 35-мм и 13-мм ultrawide - это было довольно дико).

В любом случае, ZTE установила здесь довольно большой сенсор - 1/1.55 дюйма, это самый большой датчик для сверхширокополосной камеры в телефоне с 35-миллиметровой основной камерой. Или, по крайней мере, настолько лучший, насколько мы можем судить. Объектив также достаточно яркий, с диафрагмой f / 1.8, и он также стабилизирован. Таким образом, меньшее фокусное расстояние не лишено своих преимуществ.

Телеобъектив, похоже, установлен в nubia Z50 Ultra, телефоне, который мы не видели лично. Это заметное улучшение по сравнению с той, что установлена на Z50S Pro, и она во многом такая же, как та, которую мы видели на Axon 40 Ultra - тот же сенсор, незначительные различия в характеристиках объектива. В этой модели также есть OIS, но чего в ней нет, так это точной фокусировки - мы привыкли к красивым крупным планам на последних флагманских моделях, и здесь вы этого не увидите.

  • Широкий (основной):50 МП Sony IMX800 (54 МП, 1/1.49", 1,0 мкм - 2,0 мкм), f / 1,6, 35 мм, разнонаправленный PDAF, лазерная автофокусировка, OIS; 4K при 120 кадрах в секунду, 8K при 30 кадрах в секунду

  • Сверхширокий: 50-мегапиксельный OmniVision OV50E40 (1/1.55 ", 1,0 мкм-2,0 мкм), f / 1,8, 18 мм, разнонаправленный PDAF, OIS; 4K при 120 кадрах в секунду

  • Телеобъектив: 64-мегапиксельный OmniVision OV64B40 (1/2.0", 0.7 мкм-1.4мкм), f / 3.3, 85 мм, разнонаправленный PDAF, OIS; 4K при 120 кадрах в секунду

  • Фронтальная камера: 12-мегапиксельная OmniVision OV12D2Q (1/2.43", 1.4 мкм-2.8 мкм, 16: 9), f / 2.0, 24 мм, фиксированный фокус; FullHD при 30 кадрах в секунду

Качество фотографий при дневном свете

Основная камера (35 мм)

Фотографии с основной камеры Z60 Ultra выглядят великолепно. У них минимальный уровень шума, отличная детализация, а случайные текстуры отображаются в достаточно приятной манере. Автоматический баланс белого надежен, и мы применяем зрелый подход к насыщенности.

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

Есть еще один профиль изображения под названием Gorgeous (в отличие от стандартного Natural), который обеспечивает умеренный контраст и насыщенность. Так фотографии, безусловно, получаются более выразительными, хотя, возможно, это немного чересчур.

Вот несколько снимков людей, чтобы показать вам, как nubia справляется с оттенками кожи.

Телеобъектив (85 мм)

Телеобъективная камера также делает хорошие снимки, хотя они и не совсем безупречны. Они, несомненно, четкие, без шума и детализации при ярком наружном освещении - это очень хорошо видно. Цвета также имеют приятный уровень яркости.

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

5-миллиметровая камера также не слишком хороша для фотосъемки людей в помещении, и иногда у нее возникают проблемы со снимками при ярком освещении. Мы получили изображения с тем, что выглядит как размытие при движении, на выдержках, которых можно избежать. У образца с диммером для помещений этого нет - вместо этого он просто мягче из-за увеличения ISO и, как следствие, обработки шума.

Сверхширокая камера (18 мм)

Фотографии сверхширокополосной камеры превосходны. Консервативное фокусное расстояние, без сомнения, помогло создать объектив, который может разрешать лучше, чем более экстремальные модели, и мы получаем массу мелких деталей. Конечно, обратная сторона заключается в том, что вы не сможете преувеличивать перспективы так сильно, как с объективом 13 или 14 мм, но это не обязательно чистый минус.

Динамический диапазон здесь превосходный, как и цветопередача.

Селфи

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

Качество фотографий в условиях низкой освещенности

Основная камера (35 мм)

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

Телеобъектив (85 мм)

Телеобъектив тоже не разочаровывает. Детализация не слишком четкая, но и неплохая. Тональность отличная, с хорошо сохранившимися бликами и тенями, которые достаточно яркие, но не преувеличенные. К цветопередаче также трудно придраться как с точки зрения баланса белого, так и насыщенности.

Сверхширокая камера (18 мм)

Результаты ultrawide несколько более впечатляющие, поскольку благодаря большому сенсору и яркому объективу фотографии получаются более качественными, чем обычно. Детализация отличная для камеры ultrawide - с учетом того, что она не такая широкая, как у большинства. Динамический диапазон отличный, хотя вокруг точечных источников света могут возникать несколько странные ореолы. Цвета также остаются выразительными, без нарушений баланса белого.

Запись видео

Nubia Z60 Ultra может записывать видео до 4K120 с помощью трех задних камер, а не только основной, как в большинстве других современных моделей. Конечно, также доступны 4K60 и 4K30, но в них нет опции 24 кадра в секунду. Основная камера на задней панели также может работать с разрешением 8K30.

Электронная стабилизация доступна (и может быть отключена) на всех трех камерах до 4K60, но на 4K120 и 8K30 вы предоставлены сами себе.

Кодеком по умолчанию по-прежнему является h.264 для всех режимов, включая 4K120 и 8K30. Скорость передачи видео различается, и мы видели значения до 63 Мбит / с для 4K30 и 105 Мбит / с для 4K60, в то время как у 4K120 и 8K30 было чуть более 120 Мбит / с. Звук записывается в стереосистеме со скоростью 96 Кбит / с.

Качество видео у Z60 Ultra в целом хорошее. Все камеры хорошо фиксируют детали в режиме 4K30 и поддерживают примерно такое же качество в режиме 4K120, что замечательно. Несколько досадно, что кадры основной камеры немного четче в 4K60, в то время как у двух других устройств частота кадров во всех трех режимах примерно одинакова. Цвета на основной камере немного холоднее, чем на двух других камерах (хотя в 4K60 это улучшилось), но все они хорошо смотрятся по отдельности. Динамический диапазон тоже в порядке - не самый широкий, но и неплохой.

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

Качество видеосъемки при слабом освещении вполне приемлемое. Основная камера и ultrawide имеют несколько резковатую передачу бликов, хотя мы бы все же сказали, что они показывают правильно для данных условий и имеют разумный динамический диапазон. Детализация хороша на обеих камерах, причем ultrawide, в частности, лучше, чем большинство ultrawide (хотя, опять же, эта камера не такая широкая, как большинство). Телеобъектив относится к категории "так себе", где мы находим большинство телефото.

Конкуренция

При стартовой цене в 650 долларов / 750 евро за версию 12 ГБ / 256 ГБ или 780 долларов / 900 евро за более роскошную спецификацию 16 ГБ / 512 ГБ nubia Z60 Ultra не является дешевой моделью. Это также довольно необычная комплектация - в основном благодаря системе камер, которая предлагает очень специфический набор возможностей, который вы не найдете больше нигде. В этом смысле ей практически нет конкурентов, но если вы не зациклились на 35-миллиметровой камере, то, конечно, есть альтернативы.

Первый вариант, который приходит на ум, - это OnePlus 12. При цене 800 долларов / 970 евро за спецификацию 12 ГБ / 256 ГБ в некоторых местах это не так выгодно, как nubia, но в Индии цена более конкурентоспособна. Дисплей OnePlus превосходен, как и его селфи, в то время как nubia отличается более длительным временем автономной работы и лучшей производительностью. Мы бы предпочли nubia в качестве камерофона в этом поединке, поскольку его игровое мастерство также приносит ему дополнительные очки.

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

Все больше внимания уделяется Xiaomi 14, которую вы могли бы втиснуть в бюджет nubia емкостью 512 ГБ. Xiaomi понравится тем, кого могут напугать размеры Z60 Ultra, предлагая превосходную камеру в гораздо меньшем корпусе. Естественно, размер nubia увеличивает время автономной работы и размер экрана, и если вы хотите 35 мм, то вам нужно 35 мм.


Итог

nubia Z60 Ultra - это еще одна новинка в нише, которую ZTE заявила для себя - ее 35-миллиметровая основная камера привлекает особую аудиторию, которой в противном случае были бы предоставлены опции только с цифровым зумом (по общему признанию, некоторые лучше других, но ни одна из них не сравнится со специальной камерой с таким фокусным расстоянием). В этой последней версии тройная настройка является наиболее продуманной на сегодняшний день, поэтому вы будете жертвовать меньшими затратами, чтобы получить стандартное фокусное расстояние. Итак, хотя мы бы не назвали камеры nubia идеальными, у них нет каких-либо вопиющих недостатков - если они вам понравились на бумаге, они, скорее всего, понравятся и на практике.

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

Что, возможно, является большим, чем небольшим неудобством, когда дело доходит до производительности nubia, так это отсутствие надлежащей обработки DRM для контента с высоким разрешением - большая 6,8-дюймовая панель может использовать больше, чем 480p, которые вы получаете от Netflix. И хотя вы могли бы порадоваться отсутствию видимого отверстия в экране, селфи вам точно ни капельки не понравятся.

Учитывая все обстоятельства, Z60 Ultra от nubia выполняет обещание уникальной системы камер, дающей надежные результаты по всем направлениям. Это добавляет игровой аспект к сочетанию функций и обеспечивает одно из лучших в своем классе значений времени автономной работы. И все это без лишних затрат. Совсем неплохо.

Плюсы

  • Единственная в своем роде система видеонаблюдения с необычной (и мощной) основной камерой и лучшей, чем у большинства, сверхширокополосностью.

  • Время автономной работы на высшем уровне.

  • Обширные возможности, связанные с играми.

Минусы

  • Громоздкий и тяжелый.

  • Дисплей не такой яркий и адаптивный, как у конкурентов, нет поддержки HDR10 +, Dolby Vision или Widevine L1.

  • Сильный перегрев при нагрузках на графический процессор.

  • Посредственное качество селфи.

Показать полностью 20

Угадайте звездного капитана юмористической команды «Сборная Красноярска» по описанию одного из участников

Ну что, потренировались? А теперь пора браться за дело всерьез.

Показать полностью
Android

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности?

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1Мб, которая работает практически везде и довести существующее приложение до ума, дабы оно работало даже на смартфоне с дисплеем 240x320! Но на дворе 2024 год, люди стремительно переходят из соц. сетей в продвинутые мессенджеры и уже сложно себе представить современного человека, который не пользовался бы «телегой» или даже «вайбером» в качестве основного средства общения. Поэтому я решил реализовать клиент Telegram на смартфоне 14-летней давности на базе официальной реализации MTProto от команды Telegram — TDLib. Сегодня мы с вами: узнаем новые причины мотивации вернуть в строй смартфоны прошлых лет, напишем на C# реле-сервер, который обрабатывает пакеты MTProto и кодирует их в простой текстовый формат датасетов, который можно моментально обработать даже при нестабильном GPRS-соединении на 21-летнем Siemens C60, а также узнаем о разработке миниатюрных Android-приложений на базе «голого» API-системы, которые не тянут за собой никаких зависимостей, в том числе и AppCompat/androidx. Интересно? Тогда жду вас под катом!

❯ Содержание

  1. Но зачем всё это?

  2. Архитектура приложения

  3. Реализация сервера и работа с TDLib

  4. Android-приложение

  5. Как запустить клиент?

  6. Заключение

❯ Но зачем всё это?


На дворе уже стукнул 2024 год, современные смартфоны предлагают какие-то немыслимые мощности относительно тех, которые когда-то были в первых Android-девайсах. Сейчас за сотню баксов можно купить смартфон с хорошей 1080p IPS-матрицей, 4Гб ОЗУ и 8-ядерным шустрым чипсетом, который вполне способен плавно тянуть даже стремительно «жиреющие» на ресурсы клиенты социальных сетей, банков и прочие необходимые в повседневной жизни приложения.
И казалось бы: всё хорошо, покупай себе редмик раз в год или айфон раз в несколько лет и наслаждайся всеми прелестями работы современных приложений…

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Для многих людей смартфон — это лишь инструмент, повседневный компаньон, который помогает облегчить выполнение каких-то задач. Им совершенно не важно, как он выглядит, как ощущается в руках, какой у него дисплей и железо «под капотом», лишь бы работал да и нормально. Но есть и другая категория людей, для которых телефоны, смартфоны и любые портативные гаджеты — это не просто утилитарный девайс, а настоящее инженерное произведение искусства, с которого буквально сдувают пылинки и стараются до последнего пользоваться ими как повседневными устройствами. Хотите пример? Смотрите ниже:

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Фактически, среди современных смартфонов по сути и нет представителей такого нынче вымершего форм-фактора, как сайдслайдеры с физической QWERTY-клавиатурой, боковые раскладушки с двумя дисплеями и даже из QWERTY-моноблоков есть только смартфоны от Unihertz. Даже среди моноблоков с тачскринами нет никакого разнообразия, лишь без-рамочные одинаковые девайсы за исключением устройств от Sony.

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Galaxy S Plus

Раньше меня часто спрашивали, мол, да как ты вообще можешь пользоваться смартфоном 10-летней давности, на котором давно нет официальных клиентов популярных сервисов и только недавно, с развитием блога, мне перестали задавать этот вопрос, поняв, что это бесполезно — ведь это дело принципа и порыва энтузиазма! Смотрите сами: у нас уже есть простенькие, но вполне рабочие клиенты ВК, YouTube, сейчас я допиливаю клиент «Сбера» на СМСках, реализую карты OpenStreetMap (правда пока без адекватной навигации), а в будущем планирую написать приложение для мониторинга погоды и трекинга посылок. Кроме того, в рамках этой статьи мы реализуем с вами клиент Telegram: так чем же это не функционал современного смартфона?

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Но хорошо, с функционалом разобрались, однако для многих читателей слова «старый смартфон» это прямые синонимы «тормозной смартфон», мол «фуу, да как можно пользоваться этим тормозным кирпичом, он же лагает в последней версии моей ВКшечки!». Но давайте поставим вопрос ребром: может, это не столько девайсы немощные, сколько сами приложения, с кодовой базой, которая тянется более 10 лет, откровенно жиреют, обрастают костылями и хаками после далеко не одного поколения программистов, которые над ними работали? :) Один, вот, предпочитал пользоваться чистым AppCompat'ом, другой решил притащить зависимость, которая, например, оптимизирует виртуализацию ListView, третий решил заменить всю сериализацию Json со встроенных классов в Android на что-то стороннее и реализовал это костылями и вот так, по чуть-чуть изначально оптимальный и шустрый код превращается в неповоротливое УГ, которое не рефакторили кучу лет.

На видео Galaxy Pocket Neo — очень дешёвый Android-смартфон из 2011 года с 1-ядерным чипсетом на ~800МГц и 256Мб ОЗУ. При этом всём, Android софтварно рисует все анимации на процессоре, без участия GPU.

А значит у стареньких девайсов всё равно есть шанс быть полезными и стать полноценными повседневными смартфонами даже спустя более чем десять лет после выхода! И в сегодняшнем материале, я вам расскажу об особенностях разработки самопального клиента Telegram с собственным прокси-сервером, которое концептуально допускает реализацию даже на кнопочном Siemens C60 2003 года. Как? Читаем ниже!

❯ Принцип работы


В отличии от ВК (который разрабатывали те же самые люди, что и Telegram), API которого построено на базе REST-запросов и концепции Longpolling'а для моментального получения событий с сервера, Telegram построен на базе собственного протокола под названием MTProto, который может работать поверх любого «транспорта» (протокола нижнего уровня) — TCP, HTTP, WebSocket и т.п. Сам по себе MTProto в современном виде, разработка прожженного математика Николая Дурова и его команды — протокол относительно сложный для реализации «на коленке» и в первую очередь требует довольно серьезного понимания принципов работы современной криптографии, да и документирован он всё ещё не особо хорошо. Кроме того, у MTProto весьма интересный бинарный формат пакетов, эдакий велосипед Protobuf. В долгосрочной перспективе поддерживать свой велосипед MTProto может быть весьма проблематично, учитывая не самую лучшую документацию.

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Но городить велосипед и не нужно, поскольку у команды Telegram есть официальная реализация MTProto — библиотека TDLib, которая инкапсулирует в себе не только детали реализации протокола, но и сетевой ввод/вывод и выбор транспорта, хранение базы данных сообщений и авторизации, автоматическую загрузку фото и видео, конвертация объектов из бинарного формата MTProto в JSON и полная многопоточность и частичная потоко-безопасность. С одной стороны это плюс — уже готовое решение для реализации клиента на новой поддерживаемой платформе, где есть OpenSSL (можно статически слинковать), zlib (линкуется статически), сокеты и файловый ввод/вывод, а также довольно неплохой механизм JSON-based API, которое позволяет использовать библиотеку в любом языке, который поддерживает вызов C-функций, а с другой и минус — библиотека довольно много весит, в одиночку прибавляя ~20Мб веса приложения для каждой архитектуры, у неё течёт память и у нее странный механизм получения данных с сервера (например, нельзя ответить на сообщение, зная его ID, если сообщение предварительно не загружено, при том что на сервере весь ответ — это просто ID, на какое сообщение прилетел ответ).

Понятное дело, что на стареньком смартфоне использовать оригинальный TDLib будет проблематичным — даже если собрать либы современным NDK и запилить JNI-интерфейс, библиотека «жрёт» много ОЗУ (20-100Мб «вхолостую», в зависимости от числа диалогов и частоты прилетающих событий, плюс со временем течет до 1-2Гб, если не использовать базу данных сообщений. Скорее всего, это косяк в реализации пулов, объекты из которых выгружаются при сбросе в базу, но не выгружаются при высоком потреблении ОЗУ) и уж тем-более TDLib не запустить на любимых кнопочных Java-сонериках! Поэтому я решил написать прокси-сервер, который отправляет команды, слушает ивенты TDLib и предоставляет REST-like API для клиентских программ, которые просто вызывают какой-либо метод, а в ответ получают простой и короткий строковой датасет только с необходимыми полями, весом до 10Кб (что позволяет его быстро загрузить даже с GPRS-интернетом), который можно быстро распарсить даже на преусловутом Siemens C60!

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

К сожалению, поскольку TDLib прожорлив, я не смогу захостить на своём сервере инстансы для читателей, которые хотят поюзать приложение, поэтому вам придется ставить и запускать сервер на своём VDS/компьютере с белым IP/роутере, если под него есть .NET Core :)

Клиентом же будет выступать Android-смартфон, где приложение будет фронтэндом данных с сервера. Ничего сложного на первое время нет: первое окно — это список диалогов, второе окно — список сообщений в диалоге + поле для написания сообщения, третье окно — информация о пользователе. Всё это я реализовал за три дня не-напряжной работы «на коленке».

Давайте же перейдем к реализации сервера!

❯ Прокси-сервер


Сервер я решил писать на C#, поскольку у .NET Core сейчас всё очень хорошо с кроссплатформенностью и производительностью. Его можно даже на Raspberry Pi запустить :)

Итак, какая-же архитектура такого сервера может быть? Программа инициализирует TDLib, начинает слушать её события в отдельном потоке, пока в основном потоке крутится HTTP-сервер, который обрабатывает каждый отдельный запрос с клиентского приложения. Почему синхронно? Потому что TDLib фактически не возвращает никаких идентификаторов для возвращаемых датасетов, дабы их можно было отличить друг от друга. Приведу пример: у нас есть метод getChatHistory, который возвращает n-сообщений. При этом TDLib сам определяет, сколько хочет сообщений вернуть (и в первый вызов возвращает одно сообщение вне зависимости от настрое и отправляем пакет message n-раз. При этом в пакете message нет какого-либо ID, который позволял бы ассоциировать текущий объект с какой-либо операцией. Увы!

Начинаем с коммуникации с TDLib. Для работы с библиотекой, мы будем использовать json-интерфейс. Для .NET есть биндинги через C++/CLI, но в таком случае, сервер не будет работать на Linux. Для работы с библиотекой хватит лишь три функции: CreateClientID, которая аллокейтит новый инстанс клиента, Send, которая асинхронно отправляет JSON-объект с командой, которую затем обработает TDLib и Receive, которая ждёт N-секунд и возвращает в виде ASCII-строки (!) JSON-объект с описанием события или данными после одного из запросов. За это у нас отвечает класс TDLibInterface, который объявляет PInvoke-методы для вызова нативных методов из библиотеки. .NET Core сам подгрузит библиотеку tdjson (причём на Linux он добавит ей префикс а-ля libtdjson.so, а на Windows загрузит tdjson.dll) и сам разберется с маршаллингом аргументов функций: например, string автоматически преобразует в const char*. Тем не менее, с const char* возвратами нужно быть аккуратнее — у меня был SIGSEGV, пока я ручками не конвертировал их в обычную строку.

З.Ы: На Пикабу нет отдельного тега для кода, а вставить листинги картинками я не могу из-за ограничения на 25 медиаэлементов. Так что листинги будут совсем без табов, но алгоритм их работы понять можно :)

[DllImport(Library, EntryPoint = "td_create_client_id", CallingConvention = CallingConvention.Cdecl)]
public static extern int CreateClientID();

[DllImport(Library, EntryPoint = "td_send", CallingConvention = CallingConvention.Cdecl)]
public static extern void Send(int id, string request);

[DllImport(Library, EntryPoint = "td_receive", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr RawReceive(double timeOut);

[DllImport(Library, EntryPoint = "td_execute")]
public static extern StringBuilder Execute(string request);

public static unsafe string Receive(double timeOut)
{
IntPtr str = RawReceive(timeOut);

return str != IntPtr.Zero ? new string((sbyte*)str.ToPointer()) : null;
}

Позволю себе чуточку критики в сторону TDLib. Во первых, почему нет s-версии функции с возможностью указать длину входной строки, а tdjson полагается исключительно на \0 в конце строки? Во вторых, почему const char*, а не wchar_t*? Сейчас юникод во входной строке приходится escape'ами превращать в \u-последовательности.
После этого, нам нужно написать обёртку над TDLib, которая будет вызывать для зарегистрированных событий специальные функции, называемые коллбэками. При этом закомментированный WriteLine снизу — это «дебаг» для того, чтобы узнать названия неизвестных мне ивентов :)

В каждом объекте, полученном с помощью receive, есть поле "@type", которое содержит в себе имя класса возвращаемого объекта. Первый же вопрос от читателей — почему я использую JObject с ручным дерганьем нужных полей и вручную пишу JSON в виде строковых литералов вместо нормальной сериализации/десериализации? Ответ прост: во-первых, для актуализации Data-классов придется писать кодогенератор из TL-схемы, а во-вторых иногда TDLib может возвращать немного разные объекты в JSON, из-за чего приходится мудрить с атрибутами на этих самых Data-классах, иначе десериализатор выбросит исключение. Это решается нормальными юнит-тестами на всех вариантах данных, но зачем себе в колени стрелять, если нужен конкретный фиксированный функционал и лишь малое число от всех полей, возвращаемых TDLib?

string recv = NativeInterface.Receive(10.0d);

if (recv != null)
{
JObject json = JObject.Parse(recv);

string type = json["@type"].ToString();

if (!handlers.ContainsKey(type))
{
//Console.WriteLine("Unknown event type: {0}", type);
continue;
}

handlers[type](recv, json);
}

Теперь переходим к самому интересному — обработке событий и реализации синхронного клиента, который позволяет без async/await просто запросить список сообщений и сразу же его получить (такой подход может быть полезен и юзерботам, которые не хотят размазывать стейты по всей программе). Почему без асинков? Честно сказать, мне они просто не нравятся: как привык к концепции wait/notify и коллбэков из Java, так их и юзаю всю жизнь :)

Сначала TDLib запрашивает параметры инициализации (стейт authorizationStateWaitTdlibParameters), затем если пользователь не авторизован — запрашивает номер телефона и код подтверждения (плюс дополнительные шаги для авторизации если они есть). В конце, TDLib возвращает стейт Ready, что означает готовность библиотеки к работе:

private void OnAuthState(string raw, JObject obj)
{
JObject authState = (JObject)obj["authorization_state"];
string type = authState["@type"].ToString();

if (type == "authorizationStateWaitTdlibParameters")
{
Console.WriteLine("Preparing TDLib parameters...");
NativeInterface.Send(InstanceID,
Utils.Format("{" +
"\"@type\": \"setTdlibParameters\", " +
"\"database_directory\": \"tdlib\", " +
"\"api_id\": {0}, " +
"\"api_hash\": \"{1}\", " +
"\"use_chat_info_database\": true," +
"\"use_file_database\": true," +
"\"use_message_database\": true," +
"\"system_language_code\": \"en\", " +
"\"device_model\": \"Phone\", " +
"\"application_version\": \"1.0\" " +
"}", APIId, APIHash));
}

if (type == "authorizationStateWaitPhoneNumber")
{
Console.WriteLine("Sending phone number");
NativeInterface.Send(InstanceID, Utils.Format("{\"@type\": \"setAuthenticationPhoneNumber\", \"phone_number\": \"{0}\" }", PhoneNumber));
}

if(type == "authorizationStateWaitCode")
{
NativeInterface.Send(InstanceID, Utils.Format("{\"@type\": \"checkAuthenticationCode\", \"code\": \"{0}\" }", WaitCode));
}

if(type == "authorizationStateReady")
{
Console.WriteLine("Authorized");

waitHandle.Set();
}
}

...

Client.AttachEventHandler("updateAuthorizationState", OnAuthState);

После этого, можно начать работу с данными. Обратите внимание, мой подход потоко-небезопасен, его нельзя дергать из нескольких потоков одновременно! В коде ниже, я вызываю метод для фетча сообщений, а затем в соответствующем коллбэке от TDLib обрабатываю данные (дабы статья не разрасталась на 20+ минут, я чуть урезал все листинги).

public List<Message> QueryMessagesInChat(long chatId, long lastMessage, int count)
{
messages.Clear();

requestMessageCount = count;
string json = Utils.Format("{\"@type\": \"getChatHistory\", \"chat_id\": \"{0}\", \"from_message_id\": {1}, \"limit\": {2} }", chatId, lastMessage, count);
NativeInterface.Send(InstanceID, json);

waitHandle.WaitOne();
return messages;
}

public User QueryUser(long userId)
{
string json = Utils.Format("{\"@type\": \"getUser\", \"user_id\": \"{0}\" }", userId);
NativeInterface.Send(InstanceID, json);

waitHandle.WaitOne();
return user;
}

Переходим к реализации самого сервера, для наших целей хватит обычного HttpListener. Сначала мы зарегистрируем все поддерживаемые методы и занесем их в ассоциативный список ключ-значение. Сами методы реализованы в виде делегатов, которые принимают лишь один аргумент — список параметров из строки запроса, а возвращают строку — все ответы, за исключением особых (связанных с загрузкой вложений) — текстовые.

private HttpListener listener;
private List<HttpMethodHandler> methods;
private ScheduledRestart restartManager;

private void AddMethod(HttpMethodHandler info)
{
if(info != null)
{
methods.Add(info);
Console.WriteLine("Registered method: {0}", info.Method.Name);
}
}

private void PrepareMethods()
{
AddMethod(Chats.QueryChats);
AddMethod(Chats.QueryMessages);
AddMethod(Chats.SendMessage);
AddMethod(Users.QueryUserInfo);
}

private void PrepareState()
{
// We should fetch dialog list due to TDLib nature of preloading-everything
Client.QueryChats(15);
}

public HttpServer()
{
listener = new HttpListener();
listener.Prefixes.Add("http://+:13377/");

Client = new SyncClient("test");
Client.Start();
Client.WaitUntilReady();

//restartManager = new ScheduledRestart(5);
//restartManager.Start();

methods = new List<HttpMethodHandler>();
PrepareMethods();
PrepareState();
}


...

public void Start()
{
listener.Start();

while(listener.IsListening)
{
HandleRequest(listener.GetContext());
}
}

Переходим к обработке запроса. Метод ищет, зарегистрирован ли запрошенный метод и если да, то парсит строку запроса, которая начинается с "?", которую затем передаёт в виде коллекции ключ->значения обработчику метода:

private void HandleRequest(HttpListenerContext ctx)
{
string method = ctx.Request.Url.LocalPath.Substring(1).ToLower();

if (method.Length < 0)
{
SendResponse(HttpGenericResponse.MethodRequired.ToString(), ctx);
return;
}

foreach(HttpMethodHandler handler in methods)
{
if(method == handler.Method.Name.ToLower())
{
string result = "";

if (ctx.Request.Url.Query.Length > 0)
{
string[] args = ctx.Request.Url.Query.Substring(1).Split('&', StringSplitOptions.RemoveEmptyEntries);
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();

foreach (string arg in args)
{
if (arg.IndexOf('=') >= 0)
keyValuePairs.Add(arg.Substring(0, arg.IndexOf('=')), arg.Substring(arg.IndexOf('=') + 1));
else
keyValuePairs.Add(arg.Substring(0, arg.IndexOf('=')), "");
}

result = handler(keyValuePairs);

if (result == null || result.Length < 1)
{
Console.WriteLine("Suspicious result from {0}", handler.Method.Name);
}
}

SendResponse(result, ctx);
return;
}
}

SendResponse(HttpGenericResponse.UnknownMethod.ToString(), ctx);
}

А сами методы, в свою очередь, дергают соответствующие функции из клиента и формируют на их основе датасет в примитивном формате:

public static string QueryChats(Dictionary<string, string> args)
{
if(args.ContainsKey("count"))
{
int count = int.Parse(args["count"]);
StringBuilder ret = new StringBuilder();

List<Chat> chats = HttpServer.Instance.Client.QueryChats(count);
ret.AppendLine(string.Format("Count={0}", chats.Count));

foreach(Chat chat in chats)
{
ret.AppendLine("Begin");
ret.AppendLine("ID=" + chat.ID);
ret.AppendLine("Date=" + chat.LastMessageDate);
ret.AppendLine("Name=" + chat.Name);
ret.AppendLine("Text=" + Uri.EscapeDataString(chat.LastMessageText));
ret.AppendLine("MsgId=" + chat.LastMessageID);
ret.AppendLine("End");
}

return ret.ToString();
}

return HttpGenericResponse.InternalException.ToString();
}

В результате получаем вот такой простой датасет, который, как я и говорил, легко распарсить и на Siemens C60, и на Atmega328 — да где угодно! В целом, такой сервер можно использовать для реализации бота в телеграме, который будет передавать показания каких-то датчиков, сигнализацию и прочие клевые штуки!

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Переходим к реализации клиента, т.е. приложения на Android. Здесь будет не менее интересно!

❯ Пилим для Android


В геймдеве есть своеобразный мем — некоторые инди-разработчики сначала начинают делать меню, вместо основного геймплея, что становится предметом насмешек среди других разработчиков. Но в разработке приложений для смартфонов всё по другому — здесь как-раз таки хорошо заранее продумывать макет будущего приложения!

Поскольку у нас с вами мессенджер, то главный экран должен представлять из себя список чатов (ListView) и верхнюю панельку, где в будущем могут разместиться настройки и свайп-менюшка:

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Такой вот простой макет.

Каждый пункт меню — это тоже отдельный layout, в котором мы по шаблону строим внешний вид будущего элемента списка. На немолодых устройствах есть смысл использовать как можно меньше контейнеров в layout'е, поскольку пересчет позиций и размеров элементов — одна из самых «тяжелых» операций в UI-фреймворке вообще. Кроме того, не стоит использовать кучу картинок и drawable — в Android 2.x всё 2D рисуется софтварно, аппаратное ускорение появилось только в 3.0 (частично).

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Но дабы в списке диалогов что-то появилось, нужно сначала реализовать фетчинг (получение) этих самых диалогов с сервера! Сам объект, который занимается обработкой запросов называется ClientManager и является синглтоном — он в единственном экземпляре на все время работы программы. Помимо менеджмента «ноды» (т.е. прокси-сервера), токена для авторизации и обработчика ошибок, ClientManager реализует метод для асинхронного запроса информации с сервера и, собственно, формирует строки запросов с помощью соответствующих методов:

public void queryChats(int count, Response resp) {
sendRequest(String.format("%s/QueryChats?count=%d&auth_key=%s", nodeAddress, count, token), resp);
}

Подгрузка чатов и сообщений реализована через Adapter — концепция «виртуальных» списков, которая предполагает что система создаст не 50 элементов интерфейса на каждую кнопку чата, а только 5 и будет их виртуально «мотать по кругу», обновляя только данные в уже существующих элементах. Это позволяет значительно ускорить отрисовку, учитывая то, что Android 2.x Canvas рисуется программно.

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

private void updateDialogList() {
ClientManager.getCurrent().queryChats(50, new ClientManager.Response() {
@override
public void onReady(String str) {
try {
List<Packets.Chat> chats = Packets.parseChatListFromQueryResponse(str);

DialogAdapter adapter = new DialogAdapter();
adapter.setChats(chats);

((ListView) findViewById(R.id.messages_view)).setAdapter(adapter);
} catch (Exception e) {
Toast.makeText(MainActivity.this, "Упс!", Toast.LENGTH_SHORT);
}
}
});
}

Ну вы уже явно замучились видеть простыни кода, давайте посмотрим что у нас вышло!

Шустренько, да? А ведь это ультрабюджетник Alcatel OT-916D, один из последних массовых дешевых QWERTY-смартфонов за 5 000 рублей из 2012 года. Кстати, смартфон подарил мне читатель chuvakoff с Хабра!

Переходим к окну чата. Основной макет почти такой-же, как и у основного окна: только добавилась панелька для ввода сообщения снизу.

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

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

view.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
// Reply to...
contextMenu.add(getString(R.string.reply)).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
setReplyContext((Packets.Message) view.getTag());

return true;
}
});

// Copy
contextMenu.add(getString(R.string.copy)).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
ViewGroup vg = (ViewGroup)view;

android.text.ClipboardManager manager = (android.text.ClipboardManager) view.getContext().getSystemService(CLIPBOARD_SERVICE);
manager.setText(((TextView)vg.findViewById(R.id.message_content)).getText());

return true;
}
});

// Send to...
contextMenu.add(getString(R.string.resend)).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
ViewGroup vg = (ViewGroup)view;
String text = ((TextView)vg.findViewById(R.id.message_content)).getText().toString();

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, null));

return true;
}
});
}
});

Переходим к реализации поля для ввода сообщения. Здесь всё просто — на серверсайде за это отвечает метод SendMessage. Однако для того, чтобы с нашего клиента можно было ответить на другие сообщения, я ввёл также «контекст ответа», в котором запоминается сообщение, на которое мы хотим ответить. Telegram также поддерживает Markdown, однако его полная поддержка пока не реализована.

EditText editText = ((EditText)findViewById(R.id.message_text));

if(editText.getText().length() > 0) {
long replyTo = replyContext != null ? replyContext.ID : 0;

ClientManager.getCurrent().sendTextMessage(chat.ID, editText.getText().toString(), replyTo, new ClientManager.Response() {
@Override
public void onReady(String str) {

}
});

editText.setText("");
setReplyContext(null);
}

В остальном же, функционал конечно пока совсем базовый, однако клиент работает очень шустро даже бюджетной X10 Mini Pro и позволяет чатится с моими читателями в Telegram. В будущем хотелось бы допилить:

  • Поддержка картинок: Сейчас уже есть кривоватый механизм кэширования изображений на стороне сервера, который позволяет загружать аватарки чатов. В будущем, я добавлю поддержку «галерей» с картинками!

  • Поддержка голосовых сообщений: Не все их любят, но они порой удобны и выручают. Реализую как прослушивание, так и запись!

  • Подробный просмотр профилей и менеджмент чатов: Удаление сообщений, чатов и прочие фишечки из официальных клиентов.

    Казалось бы — до официальных клиентов ещё очень далеко. Но сам факт, чтобы всё это работало достаточно шустро на девайсах, которым уже более 10 лет!

❯ Звучит интересно! Как заюзать твой клиент?


Тут всё очень и очень просто! В первую очередь, нам понадобится ПК с белым IP, роутер (если под него есть сборка dotnet), либо VDS. Виртуальные сервера сейчас стоят копейки, у ТаймВеба есть тариф за 188 рублей в месяц, которого с головой хватит для нашего сервера.

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Такая вот рекламная интеграция (к слову, прокси для всех приложений уже более года крутятся именно на мощностях TimeWeb Cloud)!

Берём уже собранный TDLib и сервер под Windows, или собираем TDLib под Linux, накатываем .NET Core. Пример для Debian/Ubuntu:

sudo apt-get install dotnet

Затем запускаем сервер:

dotnet tdsrv.dll

Программа сначала запросит номер телефона, а затем код подтверждения Telegram. После этого будет создана папка tdlib/, где будут хранится данные вашей сессии, а также файл authkey.txt, где хранится случайный ключ для сессии (md5 phone_number + response code + псевдослучайное число). Не оставляйте его в /var/www/!

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Если всё нормально, программа начнёт слушать порт 13377 на всех сетевых интерфейсах, в т.ч и в локальной сети. После этого, ставим уже предварительно собранный, либо собираем сами в Android Studio APK и в окне авторизации пишем адрес ноды и ключ авторизации. Если всё настроено верно — программа запомнит сервер и будет работать без проблем! Вот так всё легко :) Как видите — всё очень и очень просто!

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Кроме того, буквально за пару дней до публикации статьи я сел вечерком из интереса что-нить под Java-телефоны попилить… и, как и обещал, реализовал Proof of Concept возможности работы Telegram даже на сонериках, которым скоро 20 лет стукнет! А ведь если ещё чуть заморочится, можно запустить приложение даже на преусловутых монохромных сименсах!

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

❯ Заключение


Вот такой у нас получился проект с реализацией лёгкого, примитивного, но тем не менее рабочего клиента Telegram, который на клиентской части вообще не использует никаких зависимостей. Вес собранного APK в release-версии — всего 54 килобайта! Понятное дело что с ростом функционала, вес программы будет увеличиваться, но я обещаю — больше 1Мб он не вырастет :)

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Ну а вам, моим читателям, надеюсь было интересно прочитать такой «двойной материал» не только о разработке сетевой части без использования Apache/nginx/IIS, но и UI-фронтэнда для Android-смартфонов, которым уже более 10 лет!
Исходный код проекта можно найти на моём GitHub: как приложения, так и сервера, а также убедиться в отсутствии каких либо закладок и, если совсем не доверяете, собрать бинарники сами! Для сборки понадобится VS2017 или свежее, а также Android Studio 2.3.2 (если собираете для Android 2.1 и ниже).

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? Программирование, Гаджеты, Смартфон, Покупка, Android, Java, Код, Приложение, Telegram, ВКонтакте, Научпоп, Клиенты, Программа, Софт, Кейс, Гик, Электроника, Видео, YouTube, Длиннопост

Друзья! Сейчас на Хабре опросы сломаны, поэтому если у вас есть желание, вы можете проголосовать в комментариях: какой стиль статей вам больше нравится — где больше конкретики и кода с пояснением как конкретно работает та или иная часть программы, или наоборот стиль ближе к научпопу, где фрагментов кода нет, или их значительно меньше? Пишите своё мнение о проекте в комментариях!

Кроме того, у меня есть канал в Telegram, куда я публикую бэкстейдж статей, ссылки на новый материал, свои наработки, а также посты о ремонте девайсов и различные мысли.

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи каждую неделю!

Показать полностью 18 2
Отличная работа, все прочитано!