Учитывая, что 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