Android 4.4: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
<translate> | |||
== '''Описание ситуации''' == | == '''Описание ситуации''' == | ||
На платформе SmartPlayer | На платформе SmartPlayer раньше создавались клиентские приложения под версии API начиная с 21 версии. Более ранние версии не поддерживались. Но, появилась задача адаптировать клиентское приложение под Android версии 4.4 и создать на нём решение, которое позволит стабильно отыгрывать простые виды трансляций. Данное решение было проработано и реализовано на практике. | ||
{{Note|Рекомендуется использовать более новые устройства, соответствующие | {{Note|Рекомендуется использовать более новые устройства, соответствующие минимальным требованиям для клиентских приложений (Android 7.0)|warn}} | ||
== '''Логика работы''' == | == '''Логика работы''' == | ||
Для реализации рассматривался сценарий, который включал в себя: | Для реализации рассматривался сценарий, который включал в себя: | ||
* проигрывание видео и графического контента; | * проигрывание видео и графического контента; | ||
* запуск трансляции в одной зоне.<br> | * запуск трансляции в одной зоне.<br> | ||
В процессе подготовки клиентского приложения на устройстве с ОС Android 4.4 использовалось клиентское приложение ver. 1.67. | В процессе подготовки клиентского приложения на устройстве с ОС Android 4.4 использовалось клиентское приложение ver. 1.67. У этого клиентского приложения множество функций, которые нагружало «железо» старого устройства.<br> | ||
== '''Проблемы при реализации''' == | == '''Проблемы при реализации''' == | ||
# У версии 4.4 есть проблемы с декодингом. При доработке был изменен декодер и процесс | # У версии 4.4 есть проблемы с декодингом. При доработке был изменен декодер и процесс декодинга при низкоуровневом взаимодействии. | ||
# При разработке были проработаны проблемы с сетевым взаимодействием и работой сертификатов. Для корректной работы протоколов безопасности использовалась отдельная библиотека, которая | # При разработке были проработаны проблемы с сетевым взаимодействием и работой сертификатов. Для корректной работы протоколов безопасности использовалась отдельная библиотека, которая добавляла необходимые сертификаты. | ||
# Проблема с утечкой памяти. Из-за технических характеристик устройства были проблемы с постоянным переполнением памяти. Реализация получения подключений была оставлена через | # Проблема с утечкой памяти. Из-за технических характеристик устройства были проблемы с постоянным переполнением памяти. Реализация получения подключений была оставлена через rxJava, а проигрывание трансляций было сделано через корутины. | ||
== '''Ограничения''' == | == '''Ограничения''' == | ||
Android 4.4 KitKat является достаточно старой ОС и реализация работы клиентского приложения имеет множество ограничений. Известные на данный момент ограничения: | Android 4.4 KitKat является достаточно старой ОС и реализация работы клиентского приложения имеет множество ограничений. Известные на данный момент ограничения: | ||
| Строка 17: | Строка 18: | ||
* не работает в многозонном режиме; | * не работает в многозонном режиме; | ||
* работа с аудиоконтентом не рекомендуется из-за избыточной нагрузки на устройство. | * работа с аудиоконтентом не рекомендуется из-за избыточной нагрузки на устройство. | ||
</translate> | |||
Версия от 11:30, 24 июня 2025
Описание ситуации
На платформе SmartPlayer раньше создавались клиентские приложения под версии API начиная с 21 версии. Более ранние версии не поддерживались. Но, появилась задача адаптировать клиентское приложение под Android версии 4.4 и создать на нём решение, которое позволит стабильно отыгрывать простые виды трансляций. Данное решение было проработано и реализовано на практике.
Логика работы
Для реализации рассматривался сценарий, который включал в себя:
- проигрывание видео и графического контента;
- запуск трансляции в одной зоне.
В процессе подготовки клиентского приложения на устройстве с ОС Android 4.4 использовалось клиентское приложение ver. 1.67. У этого клиентского приложения множество функций, которые нагружало «железо» старого устройства.
Проблемы при реализации
- У версии 4.4 есть проблемы с декодингом. При доработке был изменен декодер и процесс декодинга при низкоуровневом взаимодействии.
- При разработке были проработаны проблемы с сетевым взаимодействием и работой сертификатов. Для корректной работы протоколов безопасности использовалась отдельная библиотека, которая добавляла необходимые сертификаты.
- Проблема с утечкой памяти. Из-за технических характеристик устройства были проблемы с постоянным переполнением памяти. Реализация получения подключений была оставлена через rxJava, а проигрывание трансляций было сделано через корутины.
Ограничения
Android 4.4 KitKat является достаточно старой ОС и реализация работы клиентского приложения имеет множество ограничений. Известные на данный момент ограничения:
- устройство может проигрывать один контент в одной зоне;
- проигрывает контент графический и видео контент;
- не работает в многозонном режиме;
- работа с аудиоконтентом не рекомендуется из-за избыточной нагрузки на устройство.