Разница между <поддерживающими экранами> и <совместимыми экранами> на Android
Теперь я официально запутался в различии между двумя элементами манифеста и
Я думал, что ТОЛЬКО с помощью Google Play будут отфильтрованы устройства, не принадлежащие к списку поддерживаемых экранов. Приложение не будет отображаться в результатах поиска на этих устройствах.
Я думал, что использование достаточно, но, похоже, оно не работает!
Нужно ли также включать?
Может кто-нибудь объяснить мне разницу в естественном языке. К сожалению, я не нашел документацию Google: s
Приветствия
Ответы
Ответ 1
поддержка экранов
Однако, если ваше приложение плохо работает при изменении размера различные размеры экрана, вы можете использовать атрибуты элемент для контроля того, должно ли ваше приложение распределяться на меньшие экраны или увеличивать свой пользовательский интерфейс ( "увеличенный" ) для установки больших экранов в режиме совместимости с системным экраном.
совместимые экраны
Любая конфигурация экрана, которая не объявлена в этом элементе, представляет собой экран, с которым приложение не совместимы. Таким образом, внешние службы (например, Google Play) не должны обеспечить приложение к устройствам с такими экранами.
Источник
Итак, кажется, что поддержка экранов означает, что ваш макет приложения хорошо работает для конкретного экрана и будет масштабироваться на других экранах.
И совместимые экраны означают, что ваше приложение совместимо только с определенными экранами и устройствами. Устройства с конфигурацией экрана, отличные от перечисленных, не будут отображаться в магазине Play.
Ответ 2
Описание
1.support экраны
Он позволяет указать размеры экрана, поддерживаемые вашим приложением, и включить режим совместимости экрана для экранов, больших, чем ваш поддержка приложений. Приложение "поддерживает" заданный размер экрана, если он правильно изменяется, чтобы заполнить весь экран. Обычное изменение размера применяется система работает хорошо для большинства приложений, и вам не нужно выполните любую дополнительную работу, чтобы ваше приложение работало на экранах, больших устройство телефонной трубки. Однако часто важно, чтобы вы оптимизировали свои пользовательский интерфейс приложения для разных размеров экрана, предоставляя альтернативу ресурсы (макеты, чертежи, изображения и т.д.).
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="false"
android:xlargeScreens="false"/>
Если ваше приложение не поддерживает большой и xlarge исключительно, режим совместимости с системным экраном будет масштабировать ( "масштабировать" ) пользовательский интерфейс, чтобы он соответствовал большие экраны. Поскольку вы не предназначены для больших размеров экрана и нормальное изменение размера не достигает соответствующих результатов, режим совместимости с экраном будет масштабировать ваш пользовательский интерфейс, эмулируя нормальный размер экрана и среднюю плотность, а затем масштабирование, чтобы оно заполняло весь экран. Однако это вызывает пикселизацию и размывание вашего пользовательского интерфейса.
2.Compatible экраны
Он определяет каждую конфигурацию экрана, с которой приложение совместимы. Только один экземпляр элемента разрешено в манифесте, но может содержать несколько элементы. Каждый элемент указывает конкретный экран сочетание плотности и плотности, с которым приложение совместимо. Любые Конфигурация экрана, которая не объявлена в этом элементе, представляет собой экран с которым приложение несовместимо.
Разница
a) экраны поддержки
-
В основном система Android считывает элемент манифеста, а затем включает режим совместимости с экраном.
-
Важно, чтобы вы всегда использовали этот элемент в своем приложении для указания размеров экрана, поддерживаемых вашим приложением.
b) совместимые экраны
-
Система Android не считывает элемент манифеста (ни во время установки, ни во время выполнения). Этот элемент только информационные и могут использоваться внешними службами (такими как Google Play), чтобы лучше понять совместимость приложений с конкретные конфигурации экрана и включить фильтрацию для пользователей.
-
Обычно вы не должны использовать этот манифест. Использование этого элемента может значительно сократить потенциальную базу пользователей для вашего приложения, не позволяя пользователям устанавливать ваше приложение, если они иметь устройство с конфигурацией экрана, которую вы не указали. Вы должны использовать его только в крайнем случае, когда приложение абсолютно не работает с определенными конфигурациями экрана.
Ответ 3
Да, Google делает это запутанным, их документация требует большой работы. Они говорят, как сделать это для определенных размеров экрана с помощью "совместимых экранов", а затем использовать поддерживаемые экраны в другой ситуации. Я думал, что этот абзац здесь помогает прояснить влияние использования элемента совместимых экранов в вашем манифесте (внимание мое):
В таком случае вы можете использовать элемент для управления распределение вашего приложения на основе сочетаний экрана размера и плотности. Внешние службы, такие как Google Play, используют это чтобы применить фильтрацию к вашему приложению, так что только устройства, которые имеют конфигурацию экрана, с которой вы заявляете совместимость может загрузить ваше приложение.
Элемент должен содержать один или несколько элементов элементы. Каждый элемент указывает конфигурацию экрана с помощью которые ваше приложение совместимо, используя android: screenSize и android: атрибуты screenDensity. каждый элемент должен включать оба атрибута для указания отдельного экрана конфигурации - если отсутствует какой-либо атрибут, тогда элемент недействителен (внешние службы, такие как Google Play, игнорируют его).
Что сбивает с толку, они добавляют это примечание впоследствии
Примечание. Хотя вы также можете использовать элемент для обратный сценарий (когда ваше приложение несовместимо с меньшие экраны), проще, если вы вместо этого используете как обсуждается в следующем разделе, поскольку не требует указания каждой плотности экрана вашего приложения Опоры
"Легче" относится к вашим потребностям, что меня смущает. Затем они продолжают и говорят это (акцент мой):
Внимание: Если вы используете элемент для обратного сценарий (когда ваше приложение не совместимо с большими экранами) и установите для более крупных атрибутов размера экрана значение "false", затем внешнее такие службы, как Google Play, не применяют фильтрацию. Ваше приложение по-прежнему будут доступны для больших экранов, но когда он будет работать, он будет не изменяйте размер, чтобы соответствовать экрану. Вместо этого система будет эмулировать размер экрана телефона (около 320dp x 480dp; см. Совместимость экрана Режим для получения дополнительной информации). Если вы хотите запретить свое приложение от загрузки на больших экранах, используйте, как обсуждается в предыдущем разделе о объявлении приложения только для Handsets.
Итак, кажется, что "совместимые экраны" заставят хранилище Google Play фильтроваться в соответствии с конфигурацией экрана. Элемент "поддерживает-экраны" влияет на режим совместимости экрана вашего устройства, который отличается от "совместимых экранов".