Почему Nexus 7 может отображать на экране гораздо больше контента, чем Galaxy Nexus?

Galaxy Nexus имеет разрешение 1280x720, а планшет Nexus 7 — 1280x800.

Я понимаю, что планшет физически больше, но именно разрешение экрана, а не размер экрана, определяет реальное пространство экрана.

Почему Nexus 7 способен отображать на экране гораздо больше контента?

РЕДАКТИРОВАТЬ. Мой вопрос не в том, «почему он был разработан таким образом». Мой вопрос больше "как так получается, что он может показывать больше на экране"? PPI этого не объясняет.

Это просто вопрос масштабирования?

Я должен был спросить, «как» он может это сделать. Когда я сказал почему, я не имел в виду "почему они так спроектировали", я имел в виду "почему это ТЕХНИЧЕСКИ возможно"?
Почему это возможно? Серьезно? Вы делаете вещи меньше.
Кроме того, если вы посмотрите в build.prop этого ПЗУ (если у вас есть дамп ПЗУ), там есть строка ro.sf.lcd_density=xxx , которая определяет плотность экрана. Чем выше значение, тем больше может поместиться на экране, и наоборот, меньше может поместиться на экране.
@zacharyalexstern: спрашивать, как это делается, - это вопрос разработки, и здесь это не по теме. Попробуйте StackOverflow.

Ответы (4)

Чтобы понять, почему Nexus 7 может отображать больше контента, чем Galaxy Nexus, я сначала объясню два понятия: плотность экрана и пиксели, не зависящие от плотности.

Но прежде чем мы углубимся в технические детали, возможно, стоит уточнить цели дизайна при использовании пикселей, не зависящих от плотности. Цель состоит в том, чтобы определить пользовательский интерфейс, одинаковый по размеру на всех устройствах, независимо от размера экрана. Таким образом, в этом случае внешний вид меню в Galaxy Nexus и планшете одинаков (рядом они должны выглядеть очень похоже), но, поскольку у одного экран больше, может отображаться больше контента. Дизайнер выбирает внешний вид, который хорошо выглядит для определенного размера (экран с разрешением 160 точек на дюйм является базовым), и в данном случае он «симулируется» на устройствах с более высоким разрешением.

Плотность экрана

Обычно называется dpi (количество точек на дюйм). Android группирует все фактические плотности экрана в четыре обобщенные плотности: низкая (120), средняя (160), высокая (240) и сверхвысокая (320). Такое устройство, как Galaxy Nexus, имеет «сверхвысокую» плотность экрана (точнее, значение dpi установлено на 320). Nexus 7 использует «tvdpi», то есть 213 dpi.

Независимый от плотности пиксель

Обычно упоминается как дп. Это единица виртуального пикселя, используемая при отображении контента. Пиксель, не зависящий от плотности, эквивалентен одному физическому пикселю на экране с разрешением 160 dpi. Для расчета dp используйте следующую формулу:

px = dp * (dpi / 160)

или эквивалентно:

dp = (px / dpi) * 160

Причина, по которой Nexus 7 может отображать больше контента, чем Galaxy Nexus, несмотря на одинаковое разрешение, заключается в следующем: разрешение Nexus 7 ниже, чем у Galaxy Nexus .

Galaxy Nexus (320 dpi, 720 пикселей в ширину)

(720 / 320) * 160 = 360 dp

Nexus 7 (213 точек на дюйм, ширина 800 пикселей)

(800 / 213) * 160 = 600 dp

Это означает, что при рендеринге приложений на Galaxy Nexus ширина экрана фактически составляет 360 dp (визуализируется с использованием 720 пикселей). В то время как на Nexus 7 ширина экрана составляет 600 dp (визуализируется с использованием 800 пикселей).

Бонус

Если ваш Galaxy Nexus рутирован, вы можете использовать такое приложение, как LCD Density Modder , и изменить DPI вашего устройства на 240. То, что вы получите, намного ближе к Nexus 7 в меньшем корпусе. Слева скриншот устройства в разрешении 240 dpi. Вы заметите, что мы можем видеть гораздо больше контента, когда DPI ниже.

Galaxy Nexus с разрешением 240 dpi Galaxy Nexus с разрешением 320 dpi

Ничего общего с ИПН

В других ответах упоминается PPI. Количество отображаемого контента не имеет ничего общего с PPI устройства. Хотя обычно поставщики выбирают DPI, наиболее близкий к PPI устройства. (например, Galaxy Nexus имеет PPI ​​316, но DPI 320, тогда как Nexus 7 имеет PPI ​​216, но использует 213 DPI).

Дальнейшее чтение

http://developer.android.com/guide/practices/screens_support.html

Спасибо за это, никто больше на самом деле не ответил на вопрос, который я задавал.
В целом это хороший ответ, но абзац «ничего общего с PPI» делает ложное различие между DPI и PPI. Смотрите мой комментарий к ответу Мохаммеда Эссама.
Привет. Я просто не понимаю ни слова из того, что ты говоришь. Вы предполагаете, что чем меньше dpi, тем больше вы можете показать. Но когда у вас 100 точек на дюйм, вы просто показываете меньше информации на дюйм, чем при 200 точках на дюйм. А еще, если плотность по умолчанию установлена ​​рядом с ppi устройства, то лучше не сделаешь, даже изменяя значение, потому что насколько я знаю, да одна точка может отображаться на многих пикселях, но пиксель не может отобразить больше та самая точка.
Э-э, это относится к экранам настольных компьютеров?
На самом деле Nexus 7 имеет 213 точек на дюйм и составляет 600x961 единиц dp. См. plus.google.com/105051985738280261832/posts/6eWwQvFGLV8 .

Это потому, что количество пикселей на дюйм (PPI) у них разное. Чем выше PPI, тем выше качество, но за счет (относительно) меньшего размера экрана. Таким образом, Nexus 7 имеет 216 пикселей на дюйм, а Galaxy Nexus — 316 пикселей на дюйм. Разрешение — это еще не все, вы также должны учитывать плотность пикселей.

Высокие значения PPI имеют то преимущество, что это HD, но у них также есть недостаток, заключающийся в меньшем размере экрана (при постоянном разрешении).

Подробнее о PPI можно прочитать здесь .

Я не понимаю, какое отношение PPI имеет к экранной недвижимости. При отсутствии масштабирования у Galaxy Nexus должно быть примерно такое же экранное пространство, как у Nexus 7, просто на экране все должно казаться меньше.
@zacharyalexstern, PPI важен, потому что он определяет масштабирование шрифта. Текст размером 12 пунктов должен иметь высоту в одну шестую дюйма (72pt = 1 дюйм), что соответствует 36 пикселям на Nexus 7 с плотностью пикселей 216 пикселей на дюйм и примерно 53 пикселям на Galaxy Nexus с плотностью пикселей 316 пикселей на дюйм. Другие элементы пользовательского интерфейса также масштабируются на основе PPI.
По сути, элементы пользовательского интерфейса масштабируются, чтобы иметь одинаковый физический размер на всех устройствах. Вот почему вы можете разместить больше из них на устройстве, которое физически больше.
@zacharyalexstern Я не могу сказать лучше, чем Wyzard, поэтому не буду. Я просто поддерживаю его, потому что вы, кажется, непреклонны в том, что PPI не имеет ничего общего с экранной недвижимостью. Я обещаю вам обратное, это имеет прямое отношение к экранной недвижимости. Вы правы, что два экрана 1280x800 имеют одинаковое количество пикселей . Но все компоненты Android масштабируются до плотности пикселей. Вы программировали для Android? Вам знаком термин дп ?
PPI не имеет ничего общего с экранной недвижимостью. То, что мы называем «экранной недвижимостью», на самом деле является количеством пикселей, не зависящих от плотности (DP). DP НЕ зависит от PPI ​​устройства, а зависит только от DPI. Вот почему я могу изменить разрешение своего Galaxy Nexus с 320 DPI на 240 DPI и видеть почти столько же контента, сколько Nexus 7. Поставщики телефонов просто выбирают DPI, наиболее близкий к PPI устройства (например, Galaxy Nexus — 316 PPI, 320 DPI. Nexus 7 — 216 ​​точек на дюйм, 240 точек на дюйм).
Элементы пользовательского интерфейса @Wyzard на Android, безусловно, НЕ масштабируются до PPI, они масштабируются до DPI.
@DerekKwok, DPI - это термин для печати, который на самом деле не применим к компьютерным дисплеям. Когда он используется в отношении компьютерных дисплеев, он обычно является синонимом PPI, потому что изображение состоит из пикселей, а не точек.

Отображение такого же количества контента на экране 4,6 дюйма в большинстве случаев сделало бы его чрезмерно маленьким. Вы не смогли бы его прочитать, поэтому размещение такого количества контента на экране просто не имеет смысла. Разрешение определяет количество пикселей. вы можете отобразить, но размер одного пикселя на каждом экране может быть разным . Чтобы содержимое было удобным для использования и чтения, вам нужно использовать больше пикселей на меньшем экране, потому что они более плотно упакованы.

Для хорошего сравнения откройте веб-страницу на Galaxy Nexus и полностью уменьшите масштаб. Та же страница, просмотренная на 14-дюймовом (или около того) мониторе с таким же разрешением, не будет проблемой, но текст на вашем телефоне почти неразборчив.


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

Однако разработчик также может определить совершенно разные макеты в зависимости от размера или плотности экрана. Таким образом, макеты на 7-дюймовом устройстве могут быть совершенно не связаны с макетами на 4-дюймовом или 10-дюймовом устройстве. Это дает разработчикам большую гибкость для создания более богатых пользовательских интерфейсов для планшетов (и других подобных устройств), сохраняя при этом пользовательский интерфейс телефона. Это подробно описано на сайте разработчиков Android .

Собирался сказать, иронично, что Google поддерживает iPad для своего Google+... хотя демо Glass с Брином было чем-то другим... :D
Я понимаю, ПОЧЕМУ это делается, мой вопрос больше как . Например, это просто вопрос масштабирования?
@zacharyalexstern: Тогда это зависит от того, как написано приложение. Вы можете написать приложение для использования совершенно разных макетов на экранах разных размеров, если хотите, поэтому это не обязательно просто «масштабирование» в обычном смысле. Или вы можете позволить приложению просто масштабироваться, если хотите. На сайте разработчиков Android есть довольно значительный набор документации, посвященной этому , но это довольно общее резюме.

Извините за глупый ответ, но: Galaxy Nexus делает все больше.

Например, маленькая буква «а» может иметь ширину 30 пикселей на Galaxy Nexus, а на Nexus 7 — только 20 пикселей. Таким образом, на экране может поместиться больше букв. Причина, по которой они кажутся одинакового размера (например, 3 мм, если вы приложите линейку к экрану), заключается, как говорили другие, в плотности пикселей. По сути, пиксели физически больше на Nexus 7.

Причина, по которой Galaxy Nexus делает все больше, заключается в том, что вы можете использовать его, не приближая его к лицу. Если бы буква «а» имела ширину 20 пикселей, как на Nexus 7, ее было бы слишком мало для комфортного чтения (потому что пиксели намного меньше).

Я так понимаю, это не мой вопрос.