首先,我并不是说“如果我在为Google TV编写应用程序时完全忘记效率,那就没关系”。我永远不会那样做! :)
但我仍然很好奇:为Google TV和移动设备(如平板电脑/手机)开发产品之间有什么区别?我在网上发现了很多关于用户界面设计差异的信息(即电视更具社交性,没有屏幕方向,没有触摸屏等),但没有文档描述两种设备之间的硬件特定差异。更具体,
考虑到Android最初是为内存有限的移动设备而设计的,那么为Google TV设计应用程序有何不同?
手机和平板电脑没有交换空间的奢侈品,因此内存存在严格限制...... Google TV也是如此吗?
Dalvik VM针对手机/平板电脑的最小内存占用进行了优化...... Google TV由完全相同的VM提供支持,专为Google TV设计的略有不同的版本(但设计目标相同),或完全相同不同的VM(考虑到不同的设计目标)?
在比较手机/平板电脑和Google TV时,硬件的实际差异是什么?这些差异是否显着?
冰淇淋三明治和果冻豆能以任何方式改善性能(即它是否利用了这些新的硬件功能?)
考虑到Android最初是为移动设备设计的
内存有限,正在设计一个适用于Google TV的应用程序
不同?
从根本上说,没有。这些设备可以以其形式存在,因为它们使用移动操作系统,因此可以在较便宜的硬件上运行。 CPU可能与当前中级手机的性能有关;据我所知,GPU的性能要低得多(特别是考虑到它正在驱动的屏幕分辨率),目前在手机上是典型的。
此外,已宣布的下一代Google TV设备是基于ARM的,因此期望它们的性能更加相似。
手机和平板电脑没有交换空间的奢侈品
对记忆有严格的限制...... Google的情况也是如此
电视?
是的,这就是Android的设计运作方式。我不知道当前的GoogleTV设备有多少RAM,但我怀疑它比你现在的Android平板电脑(1 GB)更多。一如既往,您可以使用 ActivityManager.getMemoryClass() 和 ActivityManager.getLargeMemoryClass() 找出您正在运行的设备的内存情况。
Dalvik VM经过优化,可最大限度地减少内存占用
手机/平板电脑...是由完全相同的VM驱动的Google TV,a
专为Google TV设计的略有不同的版本
(但考虑到相同的设计目标),或完全不同的VM
(考虑到不同的设计目标)?
它是完全相同的VM,只在x86上运行。
比较a时硬件的实际差异是什么?
手机/平板电脑和谷歌电视?这些差异是否显着?
有很多显而易见的事情:
输入主要是通过DPAD交互,因此您希望实现您的应用程序,以便与DPAD的交互运作良好。 Android一直支持与DPAD进行相当完整的交互,因此这并不是什么新鲜事,只是当前面向移动设备的开发人员经常放弃的应用程序设计的一部分。 (但是,正确支持DPAD不仅仅是GTV,对于像用户与键盘交互时的Asus Transformer这样的东西也很重要。)
没有像加速度计等传感器。您可以使用平台API PackageManager.hasSystemFeature() 找出是否存在硬件功能,或在清单中声明对功能的要求,以便此类设备上的应用程序不可用。
这些设备无法旋转,因此您需要在横向屏幕中工作。
当然,您运行的屏幕比典型的手机屏幕大,但是Android支持平板电脑,您可以调整大量工具(如片段)以利用屏幕。特别是现在您可以假设这些设备运行3.x或更高版本,平板电脑平台中引入的所有基础架构都可用。
关于GoogleTV的UI设计还有一篇很长的文档 https://developers.google.com/tv/android/docs/gtv_android_patterns 关于如何在电视上思考用户界面有很多很好的材料。关于GoogleTV的UI设计有很多细节;我建议你多关注一下整体观点(可用于UI的空间不仅仅是手机,不要围绕类似鼠标的交互设计你的UI等)然后决定什么对你有意义您将在电视上展示您的手机/平板电脑用户界面,而不是按照GoogleTV指南进行更加个性化的操作。只要您使用与DPAD导航配合良好的用户界面遵循基础知识,我认为您会很好。
考虑到Android最初是为移动设备设计的
内存有限,正在设计一个适用于Google TV的应用程序
不同?
从根本上说,没有。这些设备可以以其形式存在,因为它们使用移动操作系统,因此可以在较便宜的硬件上运行。 CPU可能与当前中级手机的性能有关;据我所知,GPU的性能要低得多(特别是考虑到它正在驱动的屏幕分辨率),目前在手机上是典型的。
此外,已宣布的下一代Google TV设备是基于ARM的,因此期望它们的性能更加相似。
手机和平板电脑没有交换空间的奢侈品
对记忆有严格的限制...... Google的情况也是如此
电视?
是的,这就是Android的设计运作方式。我不知道当前的GoogleTV设备有多少RAM,但我怀疑它比你现在的Android平板电脑(1 GB)更多。一如既往,您可以使用 ActivityManager.getMemoryClass() 和 ActivityManager.getLargeMemoryClass() 找出您正在运行的设备的内存情况。
Dalvik VM经过优化,可最大限度地减少内存占用
手机/平板电脑...是由完全相同的VM驱动的Google TV,a
专为Google TV设计的略有不同的版本
(但考虑到相同的设计目标),或完全不同的VM
(考虑到不同的设计目标)?
它是完全相同的VM,只在x86上运行。
比较a时硬件的实际差异是什么?
手机/平板电脑和谷歌电视?这些差异是否显着?
有很多显而易见的事情:
输入主要是通过DPAD交互,因此您希望实现您的应用程序,以便与DPAD的交互运作良好。 Android一直支持与DPAD进行相当完整的交互,因此这并不是什么新鲜事,只是当前面向移动设备的开发人员经常放弃的应用程序设计的一部分。 (但是,正确支持DPAD不仅仅是GTV,对于像用户与键盘交互时的Asus Transformer这样的东西也很重要。)
没有像加速度计等传感器。您可以使用平台API PackageManager.hasSystemFeature() 找出是否存在硬件功能,或在清单中声明对功能的要求,以便此类设备上的应用程序不可用。
这些设备无法旋转,因此您需要在横向屏幕中工作。
当然,您运行的屏幕比典型的手机屏幕大,但是Android支持平板电脑,您可以调整大量工具(如片段)以利用屏幕。特别是现在您可以假设这些设备运行3.x或更高版本,平板电脑平台中引入的所有基础架构都可用。
关于GoogleTV的UI设计还有一篇很长的文档 https://developers.google.com/tv/android/docs/gtv_android_patterns 关于如何在电视上思考用户界面有很多很好的材料。关于GoogleTV的UI设计有很多细节;我建议你多关注一下整体观点(可用于UI的空间不仅仅是手机,不要围绕类似鼠标的交互设计你的UI等)然后决定什么对你有意义您将在电视上展示您的手机/平板电脑用户界面,而不是按照GoogleTV指南进行更加个性化的操作。只要您使用与DPAD导航配合良好的用户界面遵循基础知识,我认为您会很好。
我有罗技Revue,它肯定不是一个快速的设备;我希望开发人员在定位时注意性能。
根据 这个论坛链接,这些是Revue的规格:
- Intel Atom CE4150 1.2 GHz处理器,400 MHz GPU
- 技嘉GA-SBKAN2主板
- 三星K9F8G08U0M 1 GB NAND闪存(单级单元)数据表镜像
- Hynix H27UBG8T2ATR 4 GB NAND闪存(多级单元)数据表
- TI的Silicon Image Sil9135 HDMI 1.3接收器芯片信息数据表
- 南亚NT5CB128M8CN-CG 1 GB DDR3 SDRAM(1 Gb X 8)数据表
- Realtek Semiconductor RTL8201N 10 / 100M PHYceiver数据表
- Microchip PIC24FJ64GA004-I / PT 16位单片机数据表
- Phison S2251-50 USB转Flash控制器(根据制造商不提供最终用户使用的数据表)
- IDT ICS9LPRS525AGLF CPU数据表时钟
- 三星K9F8G08U0M 1 GB NAND闪存
用于存储引导加载程序,内核,引导闪存图形,Linux OS等。
海力士H27UBG8T2ATR
- 4 GB NAND闪存(长期存储)
用于持久存储,设备是/ 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 CPU提供时钟
你注意到的东西已经存在了一段时间。有人在某处决定称之为“10英尺的UI“当XBMC成为实现这一切的方式时。一般来说,是的,共享设备上的用户体验与您不能或不会接触的情况大不相同,而个人设备则会触及相当多的东西。设备,用户界面往往是“通过镜子”类型的东西。你可以直接互动和操纵的东西。在一个10英尺的ui,事情往往更大,更简单,更友好,间接操纵的东西作为作为一款经典的0-9遥控器。