Google TV — так ли важна эффективность разработки, как и в случае с телефонами/планшетами?

Во-первых, я не спрашиваю: «Ничего, если я совсем забуду об эффективности при написании приложения для Google TV». Я бы никогда этого не сделал! :)

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

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

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

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

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

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


person Alex Lockwood    schedule 25.01.2012    source источник


Ответы (3)


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

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

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

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

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

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

Это точно такая же виртуальная машина, только работающая на x86.

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

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

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

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

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

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

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

person hackbod    schedule 01.02.2012
comment
вы ответили на все мои вопросы... спасибо, что так внимательно изучили это! это странно... вы могли бы подумать, что Android публично задокументирует часть этой информации в Интернете или, по крайней мере, разъяснит, что ОС Android и аппаратное обеспечение, на котором работают телевизоры Google, очень похожи на мобильные устройства/планшеты. - person Alex Lockwood; 03.02.2012
comment
как вы думаете, было бы лучше, если бы Google TV работал под управлением оптимизированной версии Android? тот, который мог бы, например, использовать больше памяти и/или пространства подкачки? Я понимаю, что такие вещи противоречат целям дизайна Android... но у меня есть Google TV, и иногда мне хочется, чтобы он работал немного быстрее. может помочь больше оперативной памяти и/или дискового пространства... - person Alex Lockwood; 03.02.2012
comment
Я очень сомневаюсь, что использование большего количества оперативной памяти ускорит его работу. Я не знаю, сколько оперативной памяти в современных устройствах GoogleTV, но Android работает более чем хорошо с 1 ГБ оперативной памяти, как на Galaxy Nexus. Что касается документирования Google TV, то оно не является частью основной платформы (например, вы не можете создать программное обеспечение Google TV из AOSP), поэтому оно там не документировано. - person hackbod; 10.02.2012

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

Согласно этой ссылке на форум, это спецификации для Ревю:

  • Процессор Intel Atom CE4150 1,2 ГГц с графическим процессором 400 МГц
  • Материнская плата Gigabyte GA-SBKAN2
  • Samsung K9F8G08U0M 1 ГБ NAND Flash (одноуровневая ячейка) Лист данных Зеркало
  • Hynix H27UBG8T2ATR 4 ГБ NAND Flash (многоуровневая ячейка) Лист данных
  • Техническое описание чипа приемника Silicon Image Sil9135 HDMI 1.3 от TI
  • Nanya NT5CB128M8CN-CG 1 ГБ DDR3 SDRAM (1 ГБ X 8) Лист данных
  • Realtek Semiconductor RTL8201N 10/100M PHYceiver Лист данных
  • Microchip PIC24FJ64GA004-I/PT 16-битный микроконтроллер Лист данных
  • Контроллер USB to Flash Phison S2251-50 (техническое описание недоступно конечным пользователям в зависимости от производителя)
  • IDT ICS9LPRS525AGLF Clock for CPU Datasheet
    • Samsung K9F8G08U0M 1 GB NAND Flash Used for storage of bootloader, kernel, boot flash graphics, Linux OS etc.. Hynix H27UBG8T2ATR
    • Флэш-память NAND 4 ГБ (долгосрочное хранение)

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

  • Microchip PIC24FJ64GA004-I/PT 16-битный микроконтроллер

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

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

  • Возможно HDMI CEC
  • Ресивер Silicon Image Sil9135 HDMI 1.3

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

  • Часы IDT ICS9LPRS525AGLF для процессора

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

person Larry OBrien    schedule 25.01.2012
comment
Интересно, не знал, что есть устройство x86 под управлением Android. - person Mark Ransom; 25.01.2012
comment
Спасибо за отзыв! Я сейчас далеко от дома, но я знаю, что в моей семье также есть Google TV, и он, конечно, не портативный... размером с DVD-плеер. Вы могли бы подумать, что у него будет как минимум двухъядерный процессор, но я думаю, что нет. Кажется странным, что нет внутреннего жесткого диска (кроме тех 5 ГБ флэш-памяти)... Интересно, почему это так. - person Alex Lockwood; 25.01.2012
comment
Я бы посчитал Logitech Revue портативным — если не считать настенной бородавки, он размером с книгу в твердом переплете. В противном случае я не собираюсь ничего защищать по этому поводу; У Logitech была ужасная поддержка, а затем она отказалась от нее, не разблокировав. Поэтому его нельзя рутировать и взломать. - person Larry OBrien; 25.01.2012
comment
Я полагаю, что ссылка на «портативный» больше связана с такими вещами, как… ну, приклеить его изолентой к телевизору и повернуть весь этот трюк на 90°, чтобы изменить ориентацию экрана. Или «встряхнуть, чтобы отменить» было бы забавно с экраном 54 :-D - person BRPocock; 25.01.2012

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

person slf    schedule 30.01.2012
comment
Да, но как насчет различий в оборудовании и как это влияет на то, как разработчики пишут свои приложения? - person Alex Lockwood; 31.01.2012
comment
@AlexLockwood Как и во всем Android, фрагментация станет кошмаром. Прямо сейчас это только Revue и один телевизор Sony, но вы просто подождите. Это будет так же, как то, что произошло с телефонами. И кроме того, то, что ваше приложение должно делать для пользователя, будет разным для всех, и какие функции будут необходимы, на самом деле нет никаких общих утверждений, которые вы можете сделать, кроме как работать с тем, что у вас есть. Я знаю, что это не очень хороший ответ, просто мои 2 цента. - person slf; 31.01.2012
comment
Одной из проблем, с которыми приходится иметь дело в GTV, является метод ввода. У вас гарантированно будет только крестовина в качестве ввода, но у Logitech Revue есть мышь, которая имитирует сенсорные события. - person BitBank; 01.02.2012
comment
@BitBank да, но мы можем преодолеть этот горб, предоставив сопутствующее приложение для смартфонов. Согласен, было бы неплохо иметь 100% тачпады. - person slf; 01.02.2012