В сегодняшнем быстро меняющемся рынке мобильной связи, потребители не имеют никакого терпения для мобильных приложений, которые на компромисс, их опыт.
“Сбои” и “не работающих” Наиболее распространенный feedback 1 на Google Play для неустойчивых или вялых приложений (включая игры).Эти комментарии и рейтинги сделать сотни миллионов потенциальных загрузчиков пропустить эти паршивые приложения.Звучит жестко, но это так, как это .
Приложение успешно не случайно.Это результат правильных решений в нужное время. Наиболее успешным мобильное приложение developers 2 понимают важность производительности, качества и надежности всей массива мобильных устройств, которые их клиенты используют .
Множество примеров того, как легко разработчик может идти очень, очень неправильно с их приложения.Приложение может вести себя по-разному на эстрадного мобильного devices 3 , даже те, под управлением той же версии ОС и одинаковые аппаратные компоненты .
В течение 1 квартала этого года (с 1 января по 31 марта), мы собрали значительную сумму данных из Testdroid Cloud 7 на тестах, проводимых многими мобильное приложение и игровых разработчиков.Testdroid Облако онлайн облачных платформ для мобильных разработчики, чтобы проверить, что их приложения работают отлично от устройств, которые их клиенты используют .
В течение этого периода, более 17,7 млн тесты проводились на 288 различных Android аппаратных моделей.Для ясности, различные версии некоторых популярных моделей были испытаны, но учитываются в качестве данных одного отдельного устройства (такие, как Samsung Galaxy S4GT-i9505 8 работа 4.2.2 Уровень API 17).Некоторые популярные устройства также имеют различные версии одного ОС, такие как Google Nexus 7 ME370T 9 с Android OS версии 4.1.2 (уровень API 16), уровень 4.2.2 (API 17) и 4,3 (уровень API 18) .
Все тесты были автоматизированы, используя стандартные Android instrumentation 10 и другое тест-автоматизация frameworks 11 .В случае, если вы не знакомы с аппаратуры, Android имеет tutorial 12 что объясняет основную автоматизации тестирования.Кроме того, тесты поймали проблем с помощью журналов, скриншоты, анализ производительности, а вероятность успеха-неудачи теста проходит .
Примечание: | “. Завершена” __ 34 данных включает в себя все результаты испытания, начиная с самой ранней стадии (= АПК готов), когда приложение получает Поэтому, она включает в себя точные проблемы, которые разработчики, возникших в ходе этого процесса .
Цель данного исследования было выявить наиболее общие проблемы и задачи, которые разработчики Android сталкиваются с устройствами, которые они строят для. 288 уникальный Android устройство models 16 представляют собой значительный объем Android использования: примерно от 92 до 97% мировых объемов Android, в зависимости от того, как это можно измерить и какие регионы и рынки входят.Это исследование представляет собой замечательный охватAndroid использования в глобальном масштабе, и оно наглядно показывает наиболее очевидные проблемы, а также статус Android аппаратного и программного обеспечения из точки зрения разработчика .
Мы погрузиться в двух областях исследований: Android software 17 и hardware 18 .Раздел Программное обеспечение фокусируется на версии ОС и OEM настроек и раздел аппаратного ломается на уровне компонентов (дисплей, память, чипсет и т.д.). .
Android Software
Ваше приложение программного обеспечения, но много других программ, участвует в мобильных устройствах, тоже.И этот “другой” программное обеспечение может сделать ваше программное обеспечение работают по-разному (читай “неправильно”).Что вы можете сделать, чтобы убедиться, что ваше программное обеспечение хорошо работает с остальной частью программного обеспечения в устройствах сегодня?Давайте сначала посмотрим на некоторые из наиболее распространенных программных вопросов, с которыми сталкиваются разработчики приложений .
Android OS обвиняют в Платформа fragmentation 19 , что делает вещи очень трудно для разработчиков, пользователей и почти каждый игрок в экосистеме, чтобы не отставать.Тем не менее, это не совсем так.OS очень редко делает вещи взломать сам по себе — специально для разработчиков приложений.Чаще всего это также включает в себя обновления OEM, оборудования и многие другие факторы — в дополнение к ОС .
Одна из причин, почему Android является чрезвычайно популярным среди мобильных энтузиастов и быстро вскочил впереди Apple’ сек IOS доли рынка в том, что он приходит в устройства всех shapes 23 , цены и формы,от десятков различных производителей .
Кроме того, инфраструктурное программное обеспечение Android 24 является надежной, обеспечивая отличную платформу с известным ядром Linux, связующее ПО и другое программное обеспечение на вершине.В следующих разделах мы посмотрим на результаты нашего исследования, в разбивке по версии ОС, OEM настроек и программного обеспечения зависимостей .
Как читать Graphs
Результаты этого исследования приведены на графиках.В этих графиков, темно-черный линия средний (50%) указанного в процентах недостаточности различных устройств в этой группе.Строки выше баров отмечают верхний квартиль (75%), а линии ниже, к нижнему квартиль (25%).Пунктирные линии максимум (сверху или справа) и минимальная (нижняя или левая).Кружки выбросы .
ОС и платформы Versions
Мы начнем с наиболее важного фактора в задачах, с которыми сталкиваются разработчики приложений: Android OS versions 25 .Это значительно влияет которая API, разработчики могут использовать, и как эти API, поддерживаются в различных устройствах .
Многие разработчики столкнулись все великие новых возможностей, улучшений и дополнений, которые Android принесла версию, version 26 .Некоторые опоздавшие играли только с последними версиями, но некоторые из них были разработки приложений с первых дней, как дней Кекс (1,5) и кольцевая (1.6).Конечно, эти версии не имеют отношения больше .
Следующая таблица показывает даты выпуска для различных версий ОС (наряду с их кодовыми именами) и записки, почему некоторые версии были исключены или не были использованы на устройствах проверяется .
Наиболее типичная ситуация с разработчиками приложений, которые хотят максимальную поддержку для всех возможных вариантов является то, что они начнут тестирование с версии 4.0 (Ice Cream Sandwich, уровень API 14).Тем не менее, если вы действительно хотите, чтобы обеспечить максимальный охват, начать с версии 2.3.3 (Gingerbread, уровень API 10) и проверить все возможные комбинации до последней версии Kit Kat (в настоящее время 4.4.4 и, мы надеемся, в ближайшее время, Android л).Версии старше 4,0 до сих пор серьезного использования — и будет продолжать в течение некоторого времени .
Когда дело доходит до последних версий Android — и давайте посчитаем Ice Cream Sandwich ( 4.0.3 для 4.0.4 33 ), Jelly Bean ( 4.1.1 4.3 34 ) и Kit Kat ( от 4,4 до 4.4.2 35 ) среди них — Ice Cream Sandwich явно наиболеенадежная платформа.Обновления OEM были, очевидно, наименее проблематична на этой версии, и большинство протестированных приложений работали очень хорошо на уровне API 15 (4.0.3 к 4.0.4) .
Обновление до Jelly Bean и уровень API 16 существенно не вводить новые проблемы несовместимости, а средний процент отказа остается относительно низким.Тем не менее, уровень API 16 было много случаев выброса и по уважительным причинам.Например, сообщалось больше проблем с VSync, расширяемых уведомлений и особенно с поддержкой блокировки экрана и домашнего экрана вращения .
Уровень API 17 принес улучшения в экране блокировки, и эта версия была в целом стабильные до версии 4.2.2.Отказов подошел, когда большинство производителей представили свои обновления до этой версии.Судя по всему, он стал более проблематичным для пользователей, чем в предыдущих версиях .
Возможно, самое удивительное, отказов пошел up 36 когда Kit Kat уровень API 19 был выпущен.Средний процент отказа достигла почти такой же уровень, как это было с Gingerbread.Google исправлена Kit Kat довольно быстро с двумя выпусками (4.4.1 и 4.4.2).Из них 4.4.2, казалось, живут гораздо дольше, а затем обновление 4.4.3 вышел более чем на полгода позже .
Основные выводы OS Versions
- В среднем, 23% приложений ведут себя по-разному при установке новой версии.Средний процент ошибок был маленький с Ice Cream Sandwich (1%), то Jelly Bean (8%), Honeycomb (8%), Kit Kat (21%) и, наконец, пряники (30%).Это на самом деле меньше, чем то, что было обнаружено в исследовании, проведенном с данными Q4 (частота отказов 35%) .
- Несмотря на старые версии Android их очень мало, и пряник является старейшим активно используется, некоторые приложения (40% испытуемых) по-прежнему работают на более старые версии (ниже 2,2), используемые.Другими словами, если приложение работает на версии 2.2, то он будет работать 40% времени в еще более ранних версиях, а также .
- Более 50% о новинках Android OS представил проблемы, которые сделали приложения неудачу при тестировании .
- Тестирование не удалось 68% времени, когда 5 приложения были случайно выбрал из 100 .
- Средняя продолжительность тестирования было 57 циклов в платформе.Старые версии были протестированы менее, чем новые: Gingerbread (12 циклов испытания), Ice Cream Sandwich (17), Jelly Bean (58) и Kit Kat (95) .
- Средний цикл тестирования снижается на 1,75% ошибок в кодеОбщая .
Примечание: Испытательный цикл представляет собой повторение конкретного тестовый скрипт выполняется в одном приложении версии.Когда приложение изменилось, и тест остается такой же, что засчитывается как нового цикла испытаний .
Советы и Takeaways
- Для максимального охвата ни географически, ни в глобальном масштабе, используя как можно больше физических устройств, насколько это возможно, рекомендуется.Подписка использование вашей целевой аудитории различных версий ОС.Глобальный статус версий доступно на dashboard 37 .
- Все версии ОС выше 2.3.3 по-прежнему актуальны.Это не скорее всего, изменится скоро, потому что пользователи Gingerbread и Ice Cream Sandwich составляют почти одну четверть всех пользователей Android, и многие из них не обновлять (или бы сделали) .
- Если вы хотите, чтобы покрыть 66% объема OS, то тестирование с Kit Kat (4.4.x) и Jelly Bean (4.1 до 4.3) достаточно (за API 16 до 19).
- Для покрытия 75% объемов операционной системы, затем проверить, начиная с версии 4.0.3 (уровень API 15) .
- Мы рекомендуем проверить следующие устройства, чтобы максимизировать охват:
- Amazon Kindle Fire D01400 — 2.3.4
- HTC Desire HD A9191 — 2.3.5
- Huawei Fusion 2 U8665 — 2.3.6
- Sony Xperia U ST25i — 2.3.7
- Asus Eee Pad Transformer TF101 — 4.0.3
- LG Lucid 4G — 4.0.4
- HTC One S X520e — 4.1.1
- Motorola Droid Xyboard 10.1 MX617 4.1.2
- Acer Iconia B1-A71 — 4.2
- BQ Aquaris 5 HD — 4.2.1
- HTC One мини M4 — 4.2.2
- Samsung Galaxy Note II GT-N7100 — 4.3
- LG Google Nexus 5 D821 — 4.4
- HTC One M8 — 4.4.2
Примечание: Эти устройства были выбраны потому, что они хорошая база для тестирования определенных версий платформы, с разными настройками OEM включен.Эти устройства не являются наиболее проблематичными;скорее, они были выбраны потому, что они обеспечивают большой coverage 38 (. с той же версией операционной системы, от того же производителя, и т.д.) и представитель подобных устройств .
OEM Customizations
Один камнем преткновения с Android — как любой открытым исходным кодом проекта — является его настраиваемость, который предоставляет всю платформу к проблемам.То, что называется “фрагментация” разработчиками будет считаться точкой дифференциации для OEM-производителей.В последние годы, все Android производители с готовностью построили свою собственную layers 39 , скины и другие промежуточного сверху ванильным Android.Это важный источник фрагментации,влияет разработчики .
В дополнение к слоям пользовательского интерфейса, многие производители ввели наследие software 40 — приспособлены к Android — и он тоже мешает разработчикам строить свои приложения для работы одинаково в разных мароктелефонов .
Драйверы также вызвать серьезные problems 41 , многие из которых связаны с графикой.Некоторые производители чипсетов сделали особенно плохую работу при обновлении своих графических драйверов, что делает цвета в приложениях, играх и любого графического несовместимых содержимому через телефоны.Разработчики не могут возникнуть совершенно разные цветовые схемы на различных устройствах Android, ни близко к тому, что они предназначены .
Основные выводы, относящиеся к OEM Customizations
- Не удивительно, что устройства Samsung не относятся к числу наиболее надежным и самым проблематичным.Например, Galaxy Nexus GT-I9250 является одним из наиболее надежных устройств во всех категориях, в то время как Samsung SGH Настаивать 4G-i997 не удалось самым в тех же категорий .
- Устройства Asus, а также с устройствами Xiaomi, являются наиболее надежными.Xiaomi реализует Android-разному, однако;например, всплывающие окна сделать управляемость некоторых устройств невозможным .
- Coolpad имеет, по объему, большинство проблем.Средикрупнейших брендов, HTC имеет наименьшие подверженных ошибкам устройства .
- Все крупные бренды — HTC, Samsung, Sony и LG — есть настройки, которые проблематично для некоторых типов приложений.Например, настройки Sony ломает некоторые базовые функции, такие как просмотр PDF-файлов.Настройки Samsung имеет проблемы с получение снимков с камеры и прерывания звонки .
Советы и Takeaways
- Наиболее распространенным заблуждением является то, что устройства Nexus являются лучшими для тестирования.Эти устройства обычно имеют самую последнюю версию операционной системы и практически нет настройки OEM .
- Обратите внимание на операторского и оператор фирменных устройств, а также.Некоторые из них не реализует Android совершенно по-разному, независимо от названия устройства или торговой марки .
Зависимости от других Software
Некоторые приложения требуют доступа к другим приложениям.Например, многие приложения и игры включают социальные медиа, а в худшем реализации, разработчики предполагали, что каждое устройство объединяет популярных приложений социальных средств массовой информации.Некоторые устройства поставляются с тех социальных медиа приложений, на которых установлена, но если нет, то ваше приложение просто не будет работать должным образом.К сожалению, проблемы с программным обеспечением зависимости превратиться в проблемы для разработчиков приложений .
Основные выводы, относящиеся к зависимости от других Software
- 92% приложений интегрироваться с данной платформы, чтобы показать объявления .
- 65% приложений интеграции с платформой по крайней мере, одной социальной медиа .
- 48% приложений интеграции, по крайней мере, двух социальных медиа-платформ .
- 33% приложений интеграции, по крайней мере, три или более социальных медиа-платформ .
Советы и Takeaways
Проверьте, правильно ли установлено программное обеспечение, что ваше приложение зависит от всех устройств.Не думайте, что все эти сторонних приложений и другого программного обеспечения существуют на каждом устройстве
Android Hardware
Android устройство эко-система продолжает расти и развиваться.Многие производители мобильных устройств продолжают сбивать устройств с удивительными характеристиками и оборудования, а также с различными форм-факторами.Естественно, огромное количество возможных configurations 45 представляет проблему для разработчиков.Обеспечение того, чтобы приложение хорошо работает на широком спектре устройств является критическим и простой способ, чтобы избежать разочарований конечные пользователи .
Наиболее разработчик тщательно взвесить плюсы и минусы тестирования на эмуляторах и тестирование на реальном devices 46 следовать правильной стратегии.Как правило, эмуляторы используются в начальных стадиях развития, в то время как реальные устройства заносятся в конце игры.Выбор платформы, на которой строится ваш следующий большой вещь должна быть максимально честным, насколько это возможно— С первого дня.По нашему опыту, что является краеугольным камнем создания успешного приложения — и получить эти сотни миллионов загрузок .
Разрешение экрана, дисплей и Colors
Ключ к успеху с любого приложения — особенно игры —, чтобы получить UI и графика вправо.Это проблема, потому что есть много различных разрешений, много способов, чтобы представить содержание и, естественно, много различных аппаратных .
С новых наукоемких устройств набирает популярность среди пользователей, Android эко-система, кажется, быстро направился к дисплеев с высоким разрешением.Экраны с высоким разрешением, очевидно, сделать для лучшего пользовательского опыта, но воспользоваться этим, разработчики должны обновить свои приложения и тест на them 47 .