Google TV - разрабатывает для эффективности так же важно, как и с телефонами/планшетами?

Прежде всего, я не спрашиваю: "ОК, если я полностью забываю об эффективности при написании приложения для Google TV". Я никогда этого не сделаю!:)

Но мне все еще интересно: каковы различия между разработкой чего-то для Google TV и мобильного устройства, такого как планшет/телефон? Я нашел много информации в Интернете о различиях в дизайне пользовательского интерфейса (т.е. Телевидение должно быть более социальным, без ориентации экрана, без сенсорного экрана и т.д.), Но ни одна из документации не описывает аппаратные отличия между двумя устройствами, Чтобы быть более конкретным,

  • Учитывая, что Android изначально был предназначен для мобильных устройств с ограниченной памятью, разрабатывает приложение для Google TV любым другим?

  • У телефонов и планшетов нет роскоши места подкачки, и поэтому есть жесткие ограничения на память... это также относится к Google TV?

  • Dalvik VM оптимизирован для минимального объема памяти на мобильных телефонах/планшетах... Google TV поддерживается той же самой VM, немного другой версией, разработанной специально для Google TV (но с теми же целями дизайна в ум) или совершенно другой виртуальной машины (с учетом различных целей дизайна)?

  • Каковы фактические различия в оборудовании при сравнении телефона/планшета и телевизора Google? Значительны ли эти различия?

  • Помогает ли Ice Cream Sandwich и Jelly Bean улучшить производительность любым способом (т.е. использует ли эти новые возможности оборудования?)

Ответ 1

Учитывая, что Android изначально был предназначен для мобильных устройств с ограниченной памятью, разрабатывает приложение для Google TV любой разные?

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

Кроме того, объявленные в Google TV устройства следующего поколения основаны на ARM, поэтому ожидайте, что они будут намного более похожими на производительность.

Телефоны и планшеты не имеют роскоши пространства подкачки и поэтому есть жесткие ограничения на память... это также имеет место с Google TV?

Да, именно так Android предназначен для работы. Я не знаю, как много RAM находится в текущих устройствах GoogleTV, но я сомневаюсь, что это больше, чем то, что вы видите на текущих Android-планшетах (1 ГБ). Как всегда вы можете использовать ActivityManager.getMemoryClass() и ActivityManager.getLargeMemoryClass(), чтобы узнать о ситуации в памяти устройства, на котором вы работаете.

Dalvik VM оптимизирован для минимального объема памяти на телефоны/планшеты... - это Google TV, поддерживаемый той же самой виртуальной машиной, немного отличающаяся версия, разработанная специально для Google TV (но с одинаковыми проектными целями) или полностью другой виртуальной машиной (с учетом различных целей дизайна)?

Это то же самое VM, просто запущенное на x86.

Каковы фактические различия в оборудовании при сравнении телефон/планшет и Google TV? Значимы ли эти различия?

Существует ряд очевидных вещей:

  • Вход в основном осуществляется через взаимодействие с DPAD, поэтому вы хотите реализовать свое приложение, чтобы взаимодействие с DPAD работало хорошо. Android всегда поддерживал довольно полное взаимодействие с DPAD, поэтому на самом деле это не совсем что-то новое, просто часть дизайна приложения, которую часто используют мобильные разработчики, ориентированные на мобильные устройства. (Однако хорошо поддерживать DPAD правильно для большего, чем просто GTV, это также важно для таких вещей, как Asus Transformer, когда пользователь взаимодействует с клавиатурой.)

  • Нет таких датчиков, как акселерометр и т.д. Вы можете использовать API-интерфейсы платформы, такие как PackageManager.hasSystemFeature(), чтобы найти независимо от того, существует ли аппаратная функция или объявить требование для функции в вашем манифесте, чтобы приложение не было доступно на таких устройствах.

  • Эти устройства не могут вращаться, поэтому вам нужно будет работать на ландшафтном экране.

Конечно, экран, на котором вы будете работать, больше обычного экрана телефона, но при поддержке Android для планшетов у вас есть много инструментов (таких как фрагменты), которые можно настроить, чтобы воспользоваться экраном. Особенно теперь, когда вы можете предположить, что эти устройства работают с 3.x или новее, доступна вся инфраструктура, представленная на платформе для планшетов.

Существует также длинный документ по дизайну пользовательского интерфейса для GoogleTV https://developers.google.com/tv/android/docs/gtv_android_patterns, в котором есть много хорошего материала о том, как думать о ваш пользовательский интерфейс на телевизоре. Существует множество особенностей дизайна пользовательского интерфейса GoogleTV; Я бы посоветовал вам уделять большое внимание общим точкам (пространство, доступное для пользовательского интерфейса, - это не намного больше, чем телефон, не создавайте свой пользовательский интерфейс вокруг взаимодействия с мышью и т.д.), А затем решайте, что имеет смысл для вас сколько вы просто собираетесь представить свой телефон/планшетный интерфейс на телевизоре, вместо того, чтобы делать что-то более настроенное, чтобы следовать рекомендациям GoogleTV. До тех пор, пока вы будете следовать принципам с пользовательским интерфейсом, который хорошо работает с навигацией DPAD и т.д., Я думаю, что вы будете хороши.

Ответ 2

У меня есть Logitech Revue, и это, конечно, не быстрое устройство; Я надеюсь, что разработчики обратят внимание на производительность при таргетинге на нее.

В соответствии с этой ссылкой форума, это спецификации для Revue:

  • Intel Atom CE4150 1.2 ГГц процессор с графическим процессором 400 МГц
  • Материнская плата Gigabyte GA-SBKAN2
  • Samsung K9F8G08U0M 1 GB NAND Flash (одноуровневая ячейка) Зеркало Datasheet
  • Hynix H27UBG8T2ATR 4 ГБ NAND Flash (многоуровневая ячейка) Datasheet
  • Silicon Image Sil9135 Информация о сборнике данных приемника 1.3 1.3 от TI
  • Nanya NT5CB128M8CN-CG 1 ГБ DDR3 SDRAM (1 Гб X 8) Техническое описание
  • Realtek Semiconductor RTL8201N 10/100M PHYceiver Datasheet
  • Microchip PIC24FJ64GA004-I/PT 16-разрядный микроконтроллер Datasheet
  • Phison S2251-50 USB-контроллер Flash (техническое описание недоступно конечным пользователям в соответствии с производством)
  • IDT ICS9LPRS525AGLF Часы для CPU Datasheet
    • Samsung K9F8G08U0M 1 GB NAND Flash Используется для хранения загрузчика, ядра, загрузочной флэш-графики, ОС Linux и т.д. Hynix H27UBG8T2ATR
    • 4 GB NAND Flash (долгосрочное хранение)

Используется для постоянного хранения, устройство -/dev/sda - возможно переопределение с внешнего USB-накопителя

  • Микрочип Microchip PIC24FJ64GA004-I/PT 16-разрядный микроконтроллер

Используется для обработки ИК-входа/выхода для пультов/ИК-бластеров и возможного интерфейса с беспроводной клавиатурой

Перезагрузка системы/выключение питания

  • Возможно, HDMI CEC
  • Silicon Image Sil9135 HDMI 1.3 приемник

Используется для обработки видео на и из портов HDMI, а также аудио через HDMI и SPDIF Поддерживает DTS, даже если Revue не поддерживает (возможно, обновление возможно включит эту функцию)

  • IDT ICS9LPRS525AGLF Часы для CPU

Обеспечивает часы для процессора Intel Atom

Ответ 3

То, что вы замечаете, это то, что было вокруг какое-то время. Кто-то где-то решил назвать это " 10 Foot UI", когда XBMC был способ сделать все это. Вообще говоря, да, пользовательский интерфейс сильно отличается на общем устройстве, которое вы не можете или не будете касаться, по сравнению с личным устройством, которое вы бы касались совсем немного. На карманном устройстве пользовательские интерфейсы, как правило, "выглядят из-за стекла". Вещи, с которыми вы можете напрямую взаимодействовать и манипулировать ими. На 10-футовом UI вещи, как правило, больше, проще и дружелюбнее, чтобы косвенно манипулировать чем-то таким же странным, как классический пульт 0-9.