Что каждый разработчик приложения должен знать о Android

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

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

Рекомендуемое чтение: Мобильные Лучшие практики дизайна для Android

Testdroid Cloud hosts hundreds of working Android and iOS devices.
Testdroid Cloud содержит сотни работающих устройств Android и iOS. (Изображение кредита: Testdroid) (Посмотреть большую версию)

В первом квартале этого года (с 1 января по 31 марта) мы собрали значительный объем данных из тестирования мобильных приложений на тестах, проведенных многими разработчиками мобильных приложений и игр. Testdroid Cloud — это онлайновая облачная платформа для мобильных разработчиков, чтобы проверить, что их приложения отлично работают на устройствах, которые используют их клиенты.

За этот период было проведено более 17,7 миллионов тестов на 288 различных моделях Android.. Чтобы было ясно, различные версии некоторых популярных моделей были протестированы, но учитываются в данных как одно отдельное устройство (например, Samsung Galaxy S4 GT-i9505 работает 4.2.2, API уровень 17). Некоторые популярные устройства также имели различные версии одной ОС, такие как Google Nexus 7 ME370T с версией ОС Android 4.1.2 (уровень API 16), 4.2.2 (уровень API 17) и 4.3 (уровень API 18).

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

Примечание: Данные включают в себя все результаты тестирования, начиная с самого раннего этапа (готов к выпуску приложения) до «завершения» приложения. Таким образом, она включает в себя точные проблемы, с которыми разработчики столкнулись во время этого процесса.

The research statistics, testbed and global coverage.
Статистика исследований, испытательный уровень и глобальный охват. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

Целью этого исследования было выявление наиболее распространенных проблем и проблем, с которыми сталкиваются разработчики Android с устройствами, для которых они строят. 288 уникальных моделей Android-устройств представляют собой значительный объем использования Android: примерно от 92 до 97% глобальных объемов Android, в зависимости от того, как он измеряется и какие регионы и рынки включены. Это исследование представляет собой замечательное освещение использования Android во всем мире, и он показывает наиболее очевидные проблемы, а также статус Android аппаратного и программного обеспечения с точки зрения разработчика.

Мы погрузимся в глубь двух областей исследований: программное обеспечение и оборудованиеAndroid . Раздел программного обеспечения фокусируется на версиях ОС и настройках OEM, а аппаратная секция разбивается до уровня компонента (дисплей, память, чипсет и т.д.).

Рекомендуемое чтение: Приведение данных вашего приложения на запястье каждого пользователя

Программное обеспечение для Android

Ваше приложение является программным обеспечением, но много других программ участвует в мобильных устройствах, тоже. И это «другое» программное обеспечение может сделать ваше программное обеспечение выполнять по-разному (читай «неправильно»). Что вы можете сделать, чтобы убедиться, что ваше программное обеспечение хорошо работает с остальной частью программного обеспечения в устройствах сегодня? Давайте сначала рассмотрим некоторые из наиболее распространенных проблем с программным обеспечением, с которыми сталкиваются разработчики приложений.

Android OS был обвинен в фрагментации платформы,что делает вещи очень трудно для разработчиков, пользователей и почти каждый игрок в экосистеме, чтобы идти в ногу. Однако это не совсем так. ОС очень редко делает вещи трещины сама по себе — особенно для разработчиков приложений. Чаще всего он также включает в себя Обновления OEM, аппаратное обеспечение и многие другие факторы — в дополнение к ОС.

Data collected during a 7-day period ending on July 7, 2014.
Данные, собранные за семь дней, заканчивающиеся 7 июля 2014 года. (Изображение кредита: Google) (Посмотреть большую версию)

Одна из причин, почему Android чрезвычайно популярен среди мобильных энтузиастов и быстро прыгнул впереди IOS от Apple в долю рынка, потому что он поставляется в устройствах всех форм,цен и форм, от десятков различных OEMs.

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

Как читать графики

Результаты этого исследования составлены на графиках. На этих графиках темная черная линия является средней (50%) процент сбоев различных устройств в этой группе. Линии над барами отмечают верхний квартиль (75%), а линии ниже отмечают нижний квартиль (25%). Линии являются максимальными (вверху или справа) и минимальными (внизу или влево). Круги представляют выбросы.

Версии оС и платформе

Начнем с самого важного фактора проблем, с которыми сталкиваются разработчики приложений: версии ОС Android. Это существенно влияет на то, какие aIS могут использовать и как эти AA поддерживаются в различных устройствах.

Многие разработчики испытали все большие новые функции, улучшения и дополнения, которые Android принес версии по версии. Некоторые поздние желающие играли только с последними версиями, но некоторые из них разрабатывают приложения с первых дней, как дни Cupcake (1,5) и Пончик (1,6). Конечно, эти версии больше не актуальны.

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

The Release version for each OS version.
Выпуск ная-версия каждой версии ОС. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

Наиболее типичная ситуация с разработчиками приложений, которые хотят максимизировать поддержку всех возможных вариантов, заключается в том, что они начнут тестирование с версии 4.0 (Ice Cream Sandwich, уровень API 14). Однако, если вы действительно хотите, чтобы максимизировать охват, начните с версии 2.3.3 (Gingerbread, API уровень 10) и проверить все возможные комбинации до последнего релиза Kit Kat (в настоящее время 4.4.4 и, надеюсь, скоро, Android L). Версии старше 4.0 все еще имеют серьезное применение — и будет продолжаться в течение некоторого времени.

The Failure Rate by Each OS Version.
Частота сбоев каждой версии ОС. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

Когда дело доходит до последних версий Android — и давайте считать Ice Cream Sandwich (4,0,3 до 4,0,4), Jelly Bean (4,1 до 4,3) и Kit Kat (4,4 до 4,4,2) среди них — Ice Cream Sandwich, безусловно, является наиболее надежной платформой. Обновления OEM были, очевидно, наименее проблематичными в этой версии, и большинство тестируемых приложений работали очень хорошо на уровне API 15 (4.0.3 до 4.0.4).

Обновление до Jelly Bean и API уровня 16 существенно не ввело новых проблем несовместимости, а средний процент сбоев оставался относительно низким. Тем не менее, уровень API 16 имел много случаев выброса, и по уважжжственной причине. Например, больше проблем было сообщено с Vsync, расширяемые уведомления и особенно с поддержкой экрана блокировки и вращения домашнего экрана.

Уровень API 17 внес улучшения на экран блокировки, и эта версия, как правило, была стабилиза до версии 4.2.2. Уровень отказов вырос, когда большинство OEMs представили свои обновления для этой версии. По-видимому, это стало более проблематичным для пользователей, чем предыдущие версии.

Возможно, самое удивительное, что уровень отказов вырос, когда Kit Kat API уровень 19 был выпущен. Средний процент отказов достиг почти того же уровня, что и в случае с Пряником. Google патч Kit Kat довольно быстро с двумя релизами (4.4.1 и 4.4.2). Из них 4.4.2, казалось, жили гораздо дольше, а затем обновление 4.4.3 вышло более чем через полгода.

Основные выводы из версий ОС

  • В среднем 23% приложений ведут себя по-разному при установке новой версии. Средний процент ошибок был самым маленьким с Ice Cream Sandwich (1%), затем Jelly Bean (8%), Honeycomb (8%), Kit Kat (21%) и, наконец, пряник (30%). Это на самом деле ниже, чем то, что было найдено в исследовании, проведенном с данными за 4 квартал (35% отказов).
  • Несмотря на то, что старые версии Android используются очень мало, а пряник является старейшим активно используемым, некоторые приложения (40% протестированных) по-прежнему работают на еще более старых версиях (ниже 2.2). Другими словами, если приложение работает на версии 2.2, то оно будет работать 40% времени и в более старых версиях.
  • Более 50% обновлений ОС Android ввели проблемы, из-за неуспеваемых приложений при тестировании.
  • Тестирование не удалось 68% времени, когда 5 приложений были случайным образом выбраны из 100.
  • Средняя продолжительность тестирования составила 57 циклов на платформу. Старые версии были протестированы меньше, чем новые: пряник (12 тестовых циклов), Ice Cream Sandwich (17), Jelly Bean (58) и Kit Kat (95).
  • Средний цикл тестирования сократил 1,75% ошибок в коде в целом.

Примечание: Цикл тестирования представляет собой итерацию конкретного тестового скрипта, выполненного в одной версии приложения. Когда приложение изменено и тест остается прежним, это считается новым циклом тестирования.

Советы и вынос

  • Для максимального охвата как географически, так и глобально рекомендуется использовать как можно больше физических устройств. Отслеживайте использование вашей целевой аудиторией различных версий ОС. Глобальный статус версий доступен на панели мониторинга Google.
  • Все версии ОС выше 2.3.3 по-прежнему актуальны. Это, вероятно, не изменится в ближайшее время, потому что пользователи пряники и мороженое Сэндвич представляют почти четверть всех пользователей Android, и многие из них не обновляются (или сделали бы это уже).
  • Если вы хотите покрыть 66% объема ОС, то достаточно тестирования с 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 Трансформатор TF101 — 4.0.3
    • LG Lucid 4G — 4.0.4
    • HTC One S X520e — 4.1.1
    • Моторола Дроид XYBOARD 10.1 MX617 4.1.2
    • Acer Iconia B1-A71 — 4,2
    • БЗ Акварис 5 HD — 4.2.1
    • HTC One mini M4 — 4.2.2
    • Samsung Галактика Примечание II GT-N7100 — 4,3
    • LG Google Nexus 5 D821 — 4.4
    • HTC One M8 — 4.4.2

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

Настройки OEM

Одним из камней преткновения с Android — как и любой проект с открытым исходным кодом — является его настраиваемость, которая подвергает всю платформу проблемы. То, что разработчики называют «фрагментацией», будет рассматриваться как точка дифференциации для oEMs. В последние годы все OE-мили Android охотно построили свои собственные слои uI,скины и другие промежуточное программное обеспечение поверх ванили Android. Это важный источник фрагментации, которая влияет на разработчиков.

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

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

Failure rate by OEM.
Коэффициент отказов от OEM. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)
  • Неудивительно, что устройства Samsung являются одними из самых надежных и наиболее проблемных. Например, Galaxy Nexus GT-I9250 является одним из самых надежных устройств во всех категориях, в то время как Samsung Infuse 4G SGH-I997 не удалось больше всего в тех же категориях.
  • Устройства Asus, наряду с устройствами Xiaomi, являются самыми надежными. Xiaomi реализует Android по-разному, однако; например, всплывающие окно делает управляемость некоторых устройств невозможной.
  • Coolpad имеет, по объему, большинство проблем. Среди крупнейших брендов, HTC имеет наименее подверженных ошибкам устройств.
  • Все крупные бренды — HTC, Samsung, Sony и LG — имеют настройки, которые являются проблематичными для определенных типов приложений. Например, настройки Sony нарушают некоторые основные функциональные возможности, такие как просмотр PDF.Настройки Samsung имеет проблемы с фотографированием с камерой и прерывание звонков.

Советы и вынос

  • Наиболее распространенным заблуждением является то, что устройства Nexus являются лучшими для тестирования. Эти устройства, как правило, имеют последнюю версию ОС и практически не OEM настройки.
  • Обратите внимание на устройства под брендом перевозчика и оператора. Некоторые из них реализуют Android совершенно по-разному, независимо от названия устройства или бренда.

Зависимости от другого программного обеспечения

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

  • 92% приложений интегрируются с данной платформой для показа рекламы.
  • 65% приложений интегрируются по крайней мере с одной платформой социальных сетей.
  • 48% приложений интегрируются по крайней мере с двумя платформами социальных сетей.
  • 33% приложений интегрируются по крайней мере с тремя или более платформами социальных сетей.

Советы и вынос

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

Оборудование для Android

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

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

Разрешение экрана, дисплей и цвета

Ключ к успеху с любым приложением — особенно игры — это получить uI и графики права. Это вызов, потому что есть много различных резолюций, много способов представить содержание и, естественно, много различных аппаратных средств.

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

Identical app on 3 different Android devices running identical OS version and hardware.
Видите разницу? Одно идентичное приложение работает на трех различных устройствах Android с той же версией ОС и аппаратными спецификациями. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

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

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

Failure rate by screen resolution
Частота отказов по разрешению экрана. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

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

ОС Android обеспечивает среду для последовательной разработки приложений на разных устройствах, и она обрабатывает большую часть работы по настройке uI каждого приложения к данному экрану. Кроме того, он поставляется с AI, что позволяет разработчику оптимизировать ui ii приложения для определенного размера экрана или плотности. Например, вы можете один uI для планшетов, а другой для телефонов. Хотя Os масштабируется и изменяет размер, чтобы сделать приложение работать на разных экранах, вы все равно должны оптимизировать приложение для различных размеров экрана и плотности. Поступая таким образом, вы улучшите пользовательский опыт на всех устройствах, и пользователи будут верить, что ваше приложение было разработано для их конкретного устройства, а не просто растягивается, чтобы соответствовать их экрану.

  • Медиана погрешности была самой маленькой в разрешениях 2560 и 1600 пикселей (0,4%), затем 1280 и 800 (0,7%) и 1280 и 720 пикселей (1,5%). Он был самым высоким в резолюциях 400 и 240 (45%) и 320 и 240 пикселей (44%).
  • Наиболее характерная проблема связана не с разрешением или масштабированием графического контента, а с тем, как содержимое подстраивается под ориентацию экрана. По нашим данным, проблемы с ориентацией экрана на 78% более вероятны, чем проблемы с масштабированием графического контента.
  • Неправильные цветовые темы и цветовые наборы были зарегистрированы в 18% устройств, в то время как 24% приложений появились правильно на всех 288 различных устройствах.
  • В некоторых случаях обновление ОС Android или OEM-обновление зафиксировало проблему с дисплеем, но процент был относительно низким (6%).
  • Приложения работали почти одинаково на устройствах высокого и низкого класса (на основе чипсета) с тем же разрешением (всего в 2% разницы).
  • Как правило, чем больше дисплей устройства, тем больше вероятность того, что приложение будет работать лучше.

Советы и вынос

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

Памяти

Все может произойти, когда устройство Android иссякнет из памяти. Итак, как работает ваше приложение, когда у устройства мало памяти?

Разработчики довольно часто с этой проблемой занимаются. Многие приложения не будут работать на некоторых устройствах Android, потому что они потребляют слишком много памяти. Как правило, самые популярные приложения — те, рейтинг с четырьмя и пятью звездами — не имеют этой проблемы, потому что управление памятью было реализовано правильно, иначе они были исключены из загрузки на устройствах низкого класса полностью. Слишком многие из современных приложений были первоначально разработаны для устройств высокого класса и не могут быть запущены на устройствах низкого класса. Ясно то, что вы можете легко решить эту проблему, проверяя, как ваше приложение работает с различными возможностями памяти.

Память, кажется, существенно влияет на то, как устройство справляется с приложением. Если оперативная память устройства равна или меньше 512 МБ, то устройство будет выходить из строя в 40% случаев, когда работают определенные приложения.

Failure rate of apps by memory size of device
Скорость отказа приложений по размеру памяти устройства. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

Если оперативная память устройства превышает 512 МБ, то устройство будет выплять в аварию примерно в 10% случаев. Это статистически значимо.

  • Медиана погрешности была самой низкой с оперативной памятью 1024 МБ (1%), затем 1536 МБ (3%) и следующие 768 МБ (16%). Он был самым высоким с оперативной памятью 336 (45%) и 168 МБ (44%).
  • Приблизительно 10% приложений работают на устройствах с более чем 512 МБ сбоя из-за проблем, связанных с памятью.
  • Многие OEMs не дают своим устройствам 512 МБ оперативной памяти, что Google рекомендует как минимум. Такие устройства на 87% чаще имеют проблемы, чем устройства с большим количеством памяти.
  • Вероятность сбоя падает на 41% для устройств, которые содержат более 576 МБ памяти.

Наборы микросхем

Разница в производительности между кремниевыми чипсетами (CPU, GPU и т.д.) довольно удивительна. Это не обязательно очевидно для конечных пользователей. Некоторые люди слишком много внимания уделяют часовой частоте процессора, а не набору микросхем и другим факторам, влияющим на производительность устройства.

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

Failure rate of apps by device clock rate
Скорость сбоев приложений по частоте часов устройства. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

Давайте сначала рассмотрим тактовой частоту устройств, которые мы тестировали.

Для сравнения чипсетов проще, мы классифицировали их на основе их количества ядер: одиночный, двойной и четырехъядерный.

Failure rate by single-core chipset
Частота отказов от одноядерных чипсетов. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)
Failure rate by dual-core chipset
Коэффициент отказов от двухъядерных чипсетов. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)
Коэффициент отказов четырехъядерным чипсетом. (Изображение кредита: Тестирование мобильного приложения) (Посмотреть большую версию)

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

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

Сегодня все последние версии Android OS — Ice Cream Sandwich, Jelly Bean, Kit Kat и так далее — в значительной степени полагаются на Графический процессор, потому что интерфейс и все анимации отображаются на нем, который является, как вы в состоянии достичь эффектов перехода, которые маслянистые гладкой. Современные устройства имеют гораздо больше ядер графического процессора, чем процессорные ядра, поэтому все графические и рендеринг-интенсивные задачи обрабатываются ими.

  • Одноъядерный процессор. Медиана погрешности была самой низкой в Intel Atom No2420 (0,2%), а затем в qualcomm Snapdragon S2 MSM8255T (1,1%).
  • Двойное ядро. Медиана погрешности была самой низкой в MediaTek MT8317 (0,3%), затем в Intel Atom No2560 (0,4%).
  • Четырехъядерный процессор. Медиана погрешности была самой низкой как в MediaTek MT8125 (0.2%) и Квалкомм Львиный зев 600 AP-8064AB и AP-8064T (0,2%).
  • Многие устройства высокого класса обновляются до последней версии Android и получают последние обновления OEM, что делает их более уязвимыми к проблемам (67%) чем устройства низкого класса с оригинальной версией ОС.
  • Скорость часов напрямую не коррелирует с производительностью. Некоторые тесты показывают значительное улучшение производительности, даже если пользовательский опыт и приложения на этих чипсетов и устройств не значительно улучшились.
  • Потребление энергии, естественно, является более серьезной проблемой в некоторых батареях, и некоторые устройства быстро иссякнут. Однако это тесно связано с качеством и возрастом аккумулятора и не может быть отнесено исключительно к набору микросхем.

Советы и вынос

  • Тщательно проверьте свое приложение на всех видах устройств — низкий конец, средний и высокий конец — если он имеет тяжелую графику (например, приложения с потокового видео) или использует графический процессор в значительной степени, чтобы обеспечить максимальную производительность по всей экосистеме.
  • Не думайте, что ваше приложение работает в различных чипсетах. Чипсеты имеют много различий между ними!

Другое оборудование (сенсоры, GPS, Wi-Fi и т.д.)

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

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

Заключение

Сегодня все последние версии Android OS — Ice Cream Sandwich, Jelly Bean, Kit Kat и так далее — в значительной степени полагаются на Графический процессор, потому что интерфейс и все анимации отображаются на нем, который является, как вы в состоянии достичь эффектов перехода, которые маслянистые гладкой. Современные устройства имеют гораздо больше ядер графического процессора, чем процессорные ядра, поэтому все графические и рендеринг-интенсивные задачи обрабатываются ими.

  • Одноъядерный процессор. Медиана погрешности была самой низкой в Intel Atom No2420 (0,2%), а затем в qualcomm Snapdragon S2 MSM8255T (1,1%).
  • Двойное ядро. Медиана погрешности была самой низкой в MediaTek MT8317 (0,3%), затем в Intel Atom No2560 (0,4%).
  • Четырехъядерный процессор. Медиана погрешности была самой низкой как в MediaTek MT8125 (0.2%) и Квалкомм Львиный зев 600 AP-8064AB и AP-8064T (0,2%).
  • Многие устройства высокого класса обновляются до последней версии Android и получают последние обновления OEM, что делает их более уязвимыми к проблемам (67%) чем устройства низкого класса с оригинальной версией ОС.
  • Скорость часов напрямую не коррелирует с производительностью. Некоторые тесты показывают значительное улучшение производительности, даже если пользовательский опыт и приложения на этих чипсетов и устройств не значительно улучшились.
  • Потребление энергии, естественно, является более серьезной проблемой в некоторых батареях, и некоторые устройства быстро иссякнут. Однако это тесно связано с качеством и возрастом аккумулятора и не может быть отнесено исключительно к набору микросхем.

Советы и вынос

  • Тщательно проверьте свое приложение на всех видах устройств — низкий конец, средний и высокий конец — если он имеет тяжелую графику (например, приложения с потокового видео) или использует графический процессор в значительной степени, чтобы обеспечить максимальную производительность по всей экосистеме.
  • Не думайте, что ваше приложение работает в различных чипсетах. Чипсеты имеют много различий между ними!

Другое оборудование (сенсоры, GPS, Wi-Fi и т.д.)

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

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

Заключение

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

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

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

Источник: smashingmagazine.com

Великолепный Журнал

Великолепный, сокрушительный, разящий (см. перевод smashing) независимый журнал о веб-разработке. Основан в 2006 году в Германии. Имеет няшный дизайн и кучу крутых авторов, которых читают 2 млн человек в месяц.

Добавить комментарий

%d такие блоггеры, как: