- О совместимости Android-приложений на различных устройствах
- Что лучше: Андроид или iOS? Обзор и сравнение двух платформ
- Что лучше : Андроид или iOS?
- У кого лучше стабильность : у Андроид а или iOS?
- Программное обеспечение
- Магазин приложений
- Что лучше взаимодействует с внешним миром : Андроид или iOS?
- Синхронизация с ПК
- Как обновляются Андроид и iOS
- Стоимость устройств
- Память устройств
- Встроенные помощники
- Производительность
- Персонализация устройства
- Заключение
О совместимости Android-приложений на различных устройствах
Не секрет, что число устройств на Android велико, они различаются по железу, размерам и качеству экрана, мощности процессора и др.. В отличии от iPhone- программистов, которые знают наверняка на каком устройстве будет запущено их приложение, Android-разработчикам необходимо уделять внимание совместимости приложений с различными устройствами.
В данной статье уделяется внимание вопросу совместимости приложений, в первую очередь отображения приложений на экранах с различными диагоналями и разрешением.
Для начала необходимо разобраться с возможностями, которые предоставляет Android для работы с экраном.
Основные сведения
Размер экрана(screen size) — физический размер экрана; предопределенные значения: small, normal, large, extra large*.
Геометрический коэффициент(aspect ratio)– отношение физических пропорций экрана (ширины к высоте); предопределенные значения: long (для экранов, чьи размеры превосходят по ширине или высоте стандартные размеры экрана), notlong(для экранов, чьи размеры соответствуют стандартным).
Плотность(density) – распределение пикселей относительно физических размеров экрана. Значение плотности распределения пикселей важно, поскольку один и тот же UI элемент, выраженный в пикселях для экранов с более низкой плотностью будет казаться больше, чем для экранов с высокой. Предопределенные значения для плотности: ldpi (low), mdpi (medium), hdpi (high), and xhdpi*.
Независимый(от плотности) пиксел(density-independent или dp) – “виртуальный” пиксел, который может быть использован приложением для прорисовки UI-элементов. Данный пиксел является эквивалентом физического пиксела на экране с плотностью 160 dpi. Во время выполнения OS Android прорисовывает элемент в соответствии с формулой pixel = dp * (density/160), где density – плотность экрана.
Стоит также отметить, что OS Android работает с разрешением экрана, через значения плотности экрана (никаких средств для работы с разрешением напрямую разработчик не имеет).
На рисунке ниже показано как соотносятся значения плотности и размера экрана устройств с предопределенными значениями этих величин.
*Еще один момент, который стоит отметить: значение плотности xdpi было добавлено в версии Android 2.2(API level 8), значение экрана xlarge – в версии Android 2.3(API level 9)
Работа с манифестом и загрузкой ресурсов
Начиная с версии Android 1.6, в манифест был добавлен тег , который используется для определения класса устройств, на которых может быть запущено приложение. Атрибуты тега smallScreens, normalScreens, largeScreens, xlargeScreens соответствуют определенным выше значениям экрана и могут принимать значения true или false. Дефолтные значения атрибутов варьируются в зависимости от используемой версии Android (более детальную информацию можно посмотреть тут. ). При определении значения атрибута как true, OS Android получает сигнал о том, что приложение совместимо с соответствующим типом экрана и не применяет дополнительные средства для совместимости ( что происходит при значении false). Стоит также отметить, что эти средства(функции) работают только на совместимость с большими размерами экранов (т.о. если значение normalScreen – true, остальные – false, приложение будет также совместимо с экранами large и с xlarge, но не совместимо со small). Данный тег также используется Android Market’ом для фильтрации приложений.
Для плотности также имеется атрибут – anyDensity, который также принимает значения true/false. Если значение атрибута – true, OS Android не использует функции для совместимости с различными плотностями экрана. В этом случае приложение должно использовать dp для прорисовки UI элементов, либо самостоятельно управлять вычислением размеров для различных плотностей. Если значение – false, OS Android включает функции для масштабирования элементов в соответствии с плотностью экрана.
Размещение ресурсов
OS Android также предоставляет средства для определения ресурсов, которые будут использованы для конкретных размеров экранов и плотностей. Ресурсы размещаются в соответствующих папках.
res/layout/my_layout.xml // layout for normal screen size
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/drawable-ldpi/my_icon.png // image for low density
res/drawable-mdpi/my_icon.png // image for medium density
res/drawable-hdpi/my_icon.png // image for high density
res/drawable-nodpi/composite.xml // density independent resource
Поддержка совместимости экранов
Общие рекомендации для создания совместимого приложения
Послесловие
Статья не охватывает практических моментов, связанных с тестированием приложения на девайсах с различными характеристиками экранов, думаю выделить это в отдельный пост.
Источник
Что лучше: Андроид или iOS? Обзор и сравнение двух платформ
Вечный вопрос : « Ч то лучше : Андроид или iOS?» мучает многих пользователей смартфонов. Одни подыскивают себе аппарат и выбирают , на какую платформу ориентироваться. Вторые хотят доказать, что именно их смартфон и их операционная система самая лучшая.
Андроид и iOS — это операционные системы, на которых работает подавляющее большинство современных мобильных телефонов. Самих систем , конечно , больше, но их «присутствие» в смартфонах практически незаметно, так как они не выдерживают конкуренции перед сравниваемыми системами.
Андроид или iOS — неважно, обе системы имеют своих поклонников , и обе обладают собственными плюсами и минусами. Наша цель — показать их различие, а не призывать к покупке смартфона с той или иной операционной системой. Поэтому, что лучше : Андроид или iOS? — решать вам придется самостоятельно.
Что лучше : Андроид или iOS?
Для того чтобы выбрать между Андроид ом и Айос ом , нужно подробнее познакомиться с обеими системами. Поэтому давайте разберем несколько основных моментов и проведем сравнение этих систем.
У кого лучше стабильность : у Андроид а или iOS?
Компания Apple на этой операционной системе производит только iPhone и iPad. Больше iOS никто и нигде не применяет. То есть iOS — это операционная система, разработанная под конкретное «железо». Поэтому разработчики сделали ее максимально стабильной и идеальной для собственных устройств. Из это следует, что в целом в ней наблюдается меньшее количество ошибок, багов и конфликтов с другим программным обеспечением.
Андроид не может похвастаться стабильностью. Эта ОС установлена на большом разнообразии устройств разных производителей. Очень часто производители устройств «докручивают» исходный код Android под свои устройства, что часто вызывает дисбаланс. Именно поэтому пользователи этих устройств часто жалуются на:
нестабильную работу устройства;
нестабильную работу приложений на устройстве.
Андроид несет в себе одно важно е отличие от iOS : он имеет двоякие результаты. Андроид более «открытый», поэтому производители устройств могут его перекодировать. Такая «перекодировка» может быть очень удачной, если делается со всей ответственностью и кропотливым трудом. Но также может быть неудачной, если «сделана на коленке» в каком-нибудь подвале.
С Apple такие «варианты» не проходят : они производят собственные устройства с собственной ОС и снабжают его тщательно отобранными приложениями.
Если выбирать , что лучше, отталкиваясь от стабильности Андроид а или iOS, то имеем следующее. IOS по умолчанию очень стабильны й . Но и Андроид во флагманских устройствах не уступает в стабильности, так как производители флагманов стараются держать на уровне собственный бренд. Что касается малоизвестных производителей устройств, то там есть риск нарваться на полную нестабильность.
Программное обеспечение
Продолжаем решать, что лучше : iOS или Android? Программный софт — это очень важный элемент любого смартфона. Для того чтобы гаджет стал настоящим помощником, пользователи устанавливают на него соответствующее ПО. Как мы уже говорили, устройств, использующих Андроид , очень много, все они отличаются следующими характеристиками:
Есть даже отличие во внутреннем «железе» — на разных устройствах используются разные чипы: Qualcomm или MediaTek. Вся эта «каша» приводит к тому, что возникает проблема совместимости устройства и ПО. Поэтому можно часто встретить такую ситуацию, когда на одном Андроид-устройстве приложение работает нормально, а на другом — с какими-то проблемами или вообще не работает.
С iOS нет таких проблем. Потому что работа самой системы контролируется только ее разработчиками, а все приложения, поступающие в AppStore , тщательно проверяются, поэтому стабильно работают на устройствах Apple.
Но тут , опять же , нужно отметить, что проблема «несовместимости» приложений наблюдается на устройствах непонятных производителей. Более известные фирмы-производители устройств знают об этой проблеме и контролируют ее решение, поэтому на их устройствах это редкость.
Магазин приложений
Сравнивать по количеству приложений мы не будем. Но нужно отметить, что в Play Market очень много отличных бесплатных приложений на любой вкус. В AppStore достойные приложения все платные.
Но в то же время в AppStore все приложения проходят тщательную проверку , и « а бы что» туда не попадет. Поэтому там присутствует гарантия, что любое установленное приложение по крайней мере не навредит вашему гаджету. В Play Market больше вероятность нарваться на некачественное приложение, которое может навредить телефону.
Что лучше взаимодействует с внешним миром : Андроид или iOS?
Это еще одна особенность устройств с этими системами, на которую нужно обратить внимание. Обе операционные системы могут выходить в сеть при помощи Wi — Fi или используя мобильный интернет: 2G, 3G, 4G, 5G. Тут отличий нет.
Отличаются они использованием блютуз-модуля. На iOS Bluetooth можно использовать только для подключения беспроводной гарнитуры. В Андроид е с этим модулем можно делать что угодно:
подключать гарнитуру и устройства;
Понятно, что это так себе преимущество, но все же.
Синхронизация с ПК
Когда нужно скинуть какие-то файлы с компьютера на свой гаджет, вы просто берете и подключаете устройство через USB-кабель к ПК. В этом случае с Андроид ом не должно возникнуть проблем, так как он определяется как стандартный съемный носитель, поэтому на него можно стандартным методом отправить файлы.
С iOS такое не пройдет : стандартный файловый менеджер не перекинет на ваш гаджет необходимые файлы. Для того чтобы перекинуть файлы на iOS , нужно воспользоваться специальной программой iTunes. Если нет этой программы, перенос файлов будет невозможен. Помимо этого, iTunes может:
создавать резервные копии;
покупать контент (музыку и видео).
Как обновляются Андроид и iOS
Выбираем , что лучше : Андроид или iOS, рассматривая качество обновлений. У iOS проблем с обновлениями нет, данная «операционка» обновляется регулярно , и всем устройствам доступно это обновление. Ответственность и качество обновлений зависит от разработчиков самой ОС.
У Андроид а дела с обновлениями обстоят немного по-другому и несколько похуже. Сама операционная система обновляется постоянно. Но вот доступность и качество этих обновлений завис я т от производителей устройств. Поэтому ответственность тоже лежит на производителях.
В итоге мы получаем:
регулярные и качественные обновления на iOS;
отсутствующие или очень редкие обновления на малоизвестных устройствах на Android ;
обновление Андроида только на дорогих гаджетах.
Отсутствие обновлений на дешевых моделях Андроид а объясняется тем, что сам процесс «подгонки» обновлений Андроида под эти устройства недешевый. А потому производители этих смартфонов не обновляют дешевые устройства, а выпускают новые модели с новым Android .
Поэтому в сети для не обновляемых моделей устройств на Андроид е можно найти «прошивки» от продвинутых пользователей.
Стоимость устройств
Ни для кого не секрет, что стоимость устройств на iOS сильно завышена по сравнению с аналогичными устройствам на Андроид е . Именно высокие цены останавливают многих пользователей от покупки этих гаджетов. Поэтому есть тенденция покупать iOS-устройства «с рук», то есть более старые модели.
С Андроид — устройствами все по-другому. Тут цены ниже. Брендовые гаджеты стоят дороже. Менее известные производители стоят дешевле брендовых аналогов. А если рискнуть, то можно купить дешевую «китайскую» реплику многих известных фирм, даже компании Apple. Но будет ли такое устройство нормально работать — остается загадкой.
Память устройств
В iOS вся память встроенная, вилка памяти — 16-256 Гб, а расширение памяти при помощи SD-флешек не предусмотрено. Поэтому если память на гаджете заканчивается, то нужно будет что-то придумывать:
освобождать память на устройстве путем удаления файлов;
воспользоваться облачными хранилищами;
выгрузить файлы на свой компьютер .
В Андроид е несколько другая ситуация, тут есть возможность расширять память внешними SD-флешками. Помимо этого, само устройство тоже может поставляться с большим объемом внутренней памяти.
С одной стороны , внешние «флешки» — это хорошо, так как позволяют существенно расширять память устройства. Но в них есть минус. Такая память считается менее надежной, чем внутренняя , и чаще подвержена неконтролируемым сбоям. То есть «флешки» могут внезапно выйти из строя , и есть вероятность просто потерять все данные, сохраняемые на ней.
Встроенные помощники
Разберем, что лучше : Андроид или iOS, опираясь на характеристики встроенных помощников. Фраза «Ок, Google!» знакома многим, а это не что иное , как активация голосового помощника от одноименной компании. Он может помочь:
разобраться с будильн и ком;
найти нужную информацию;
рассказать о погоде;
помочь с картами;
Но в целом это не такой функциональный помощник, как у iOS. Siri в iOS обладает более широким функционалом, с ней можно даже просто «поговорить».
Поэтому в некоторых флагманских устройствах на Андроид е есть собственные голосовые помощники, которые хоть немного , но компенсируют разницу с Siri.
Производительность
Спор по поводу того , что лучше : iOS или Android, чаще всего возникает из-за производительности. Что н и говори, но за счет четкого контроля iOS со стороны разработчиков, при одинаковых параметрах в устройствах на Андроид е и iOS , она работает производительней. Нажав на иконку на экране , вы сразу получаете отклик от устройства.
С Андро и д ом все происходит по-другому. Ему нужно время, чтобы «подумать» после нажатия кнопки на экране устройства. Особенно эта медлительность заметна в среднем и дешевом сегменте устройств. Более дорогие производители стараются свои устройства поддерживать на уровне. Но в целом со временем «тормоза» на Андроиде неизбежны. Поэтому существу е т множество приложений для оптимизации и очистки системы, чтобы хоть как-то нормализовать производительность устройства.
Проблем с производительностью в iOS на порядок меньше , либо они вообще отсутствуют. Но и в дорогом сегменте Андроид а производительность тоже «на высоте».
Персонализация устройства
Гибкость в настройках — тоже важный фактор, чтобы определить, что лучше : Андроид или iOS. Все мы любим подчеркнуть свою индивидуальность, даже в собственном гаджете.
Андроид в эт о м плане намного опередил iOS. На самом деле, он весьма гибкий и позволяет очень тонко себя настроить. Для качественной персонализации в Play Market можно найти множество различных приложений.
iOS не настолько гибкий. Да, он позволяет себя персонализировать, но по минимуму. Элементарно, там нельзя сменить стандартную клавиатуру. А на Андроиде это можно сделать в десятках вариаций.
Заключение
Решить для себя, что лучше : Андроид или iOS , на самом деле , несложно. Обе эти операционные системы имеют собственные достоинства и недостатки. И не нужно их сравнивать «под лупой».
Это просто разные ОС для разной аудитории людей. Если вы цените быстродействие и производительность и вам не хочется тратить время на всякие там настройки, при этом завышенная цена вам не важна и вы хотите обрести «статус», то вам нужно устройство под управлением iOS.
Если вы цените свободу и индивидуальность, вам нравится самостоятельно «копаться» в гаджете, при этом вы не хотите тратить лишние деньги за практически одинаковый с iOS функционал, то вам нужно устройство под управлением Android.
i OS — это бренд, статус, качество, но постоянный контроль разработчиков. Android — это свобода, качество, эксперименты и открытость.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Источник