Учитывая, что Android изначально была разработана для мобильных устройств с ограниченной памятью, разрабатывает приложение для Google TV любого другое?
По существу, нет. Эти устройства могут существовать в их форме, потому что они используют мобильную ОС и поэтому могут работать на менее дорогостоящем оборудовании. ЦП может быть рядом с производительностью современных телефонов среднего уровня; насколько я могу сказать, что графический процессор имеет гораздо более низкую производительность (особенно с учетом разрешения экрана, который он управляет), то в настоящее время он типичен для телефонов.
Кроме того, объявленные на Google TV устройства следующего поколения основаны на ARM, поэтому ожидайте, что они будут намного более похожими на производительность.
Мобильные телефоны и планшеты не могут позволить себе роскошь подкачки и поэтому есть жесткие ограничения на память ... это также и в случае с Google TV?
Да, это то, как Android предназначен для работы.Я не знаю, как много RAM находится в текущих устройствах GoogleTV, но я сомневаюсь, что это больше, чем то, что вы видите на текущих Android-планшетах (1 ГБ). Как всегда вы можете использовать ActivityManager.getMemoryClass() и ActivityManager.getLargeMemoryClass(), чтобы узнать ситуацию с памятью устройства, на котором вы работаете.
Dalvik VM оптимизирована для минимального объема памяти на телефонов/планшетов ... это Google TV работает на той же самой VM, в несколько иной версии, разработанной специально для Google TV (но с тем же проектные цели), или совершенно другой VM (с различными целями дизайна)?
Это точно такая же виртуальная машина, которая работает только на x86.
Каковы фактические различия в оборудовании при сравнении телефона и планшета и телевизора Google? Являются ли эти различия значительными?
Есть несколько очевидных вещей:
Ввод в первую очередь за счет взаимодействия 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 и т. Д., Я думаю, что вы будете хороши.
, на которые вы ответили на все мои вопросы ... спасибо за то, что вы так тщательно изучили! это странно ... вы могли бы подумать, что андроид публично документирует часть этой информации в Интернете или, по крайней мере, пояснит, что ОС Android и аппаратное обеспечение, использующие телевизоры Google, очень похожи на мобильные устройства/планшеты. –
Как вы думаете, Google TV будет лучше работать с оптимизированной версией Android? один, который мог бы, например, использовать больше памяти и/или swap-space? Я понимаю, что такие вещи будут противоречить целям дизайна Android ... но у меня есть Google TV, и иногда хочется, чтобы он работал немного быстрее. больше RAM и/или дискового пространства могло бы помочь ... –
Я очень сомневаюсь, что использование большего количества оперативной памяти заставит его работать быстрее. Я не знаю, сколько оперативной памяти находится в текущих устройствах GoogleTV, но Android работает более чем в 1 ГБ ОЗУ, как на Galaxy Nexus. Что касается документирования Google TV, он не является частью основной платформы (например, вы не можете создавать программное обеспечение Google TV от AOSP), поэтому не задокументированы. – hackbod