谷歌电视 - 设计效率与手机/平板电脑一样重要吗?

时间:2012-01-25 17:57:44

标签: java android google-tv

首先,我并没有问“如果我在为Google TV编写应用程序时完全忘记效率,那就没关系”。我永远不会那样做! :)

但我仍然很好奇:为Google TV和移动设备(如平板电脑/手机)开发产品之间有什么区别?我在网上发现了很多关于用户界面设计差异的信息(即电视更具社交性,没有屏幕方向,没有触摸屏等),但没有一篇文档描述了两种设备之间的硬件特定差异。更具体地说,

  1. 考虑到Android最初是为内存有限的移动设备而设计的,是否正在为Google TV设计一个不同的应用程序?

  2. 手机和平板电脑没有交换空间的奢侈品,因此内存存在严格限制...... Google TV也是这样吗?

  3. Dalvik VM针对手机/平板电脑的最小内存占用进行了优化...... Google TV由完全相同的VM提供支持,这是一个专为Google TV设计的略有不同的版本(但具有相同的设计目标) ()或者是一个完全不同的VM(考虑到不同的设计目标)?

  4. 比较手机/平板电脑和Google TV时,硬件的实际差异是什么?这些差异是否显着?

  5. Ice Cream Sandwich和Jelly Bean能否以任何方式改善性能(即它是否利用这些新的硬件功能?)

3 个答案:

答案 0 :(得分:7)

我有罗技Revue,它肯定不是一个快速的设备;我希望开发人员在定位时注意性能。

根据this forum link,这些是Revue的规格:

  • 采用400 MHz GPU的Intel Atom CE4150 1.2 GHz处理器
  • 技嘉GA-SBKAN2主板
  • Samsung K9F8G08U0M 1 GB NAND闪存(单级单元)数据表镜像
  • Hynix H27UBG8T2ATR 4 GB NAND闪存(多级单元)数据表
  • 来自TI的Silicon Image Sil9135 HDMI 1.3接收器芯片信息数据表
  • Nanya 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转闪存控制器(根据制造商不向最终用户提供数据表)
  • 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提供时钟

答案 1 :(得分:4)

  

考虑到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或更高版本,平板电脑平台中引入的所有基础设施都可用。

https://developers.google.com/tv/android/docs/gtv_android_patterns上有一篇关于GoogleTV UI设计的冗长文档,其中有很多关于如何在电视上思考用户界面的好资料。关于GoogleTV的UI设计有很多细节;我建议你非常注意整体要点(UI的可用空间不仅仅是手机,不要围绕类似鼠标的交互设计你的UI等),然后决定什么对你有意义您将在电视上展示您的手机/平板电脑用户界面,而不是按照GoogleTV指南进行更多自定义操作。只要您使用适合DPAD导航的UI来完成基本操作,我认为您会很好。

答案 2 :(得分:0)

你注意到的东西已经存在了一段时间。有人在某处决定将其称为“10 Foot UI”,而XBMC就是这样做的方式。一般来说,是的,共享设备上的用户体验与您不能或不会接触的情况大不相同,而个人设备则会触及相当多的内容。在手持设备上,用户界面倾向于“通过镜子”类型的东西。您可以直接与之互动和操纵的事物。在一个10英尺长的ui上,事情往往更大,更简单,更友好,间接操纵一些像经典的0-9遥控器一样的东西。