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


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

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

  1. 考虑到Android最初是为内存有限的移动设备而设计的,那么为Google TV设计应用程序有何不同?

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

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

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

  5. 冰淇淋三明治和果冻豆能以任何方式改善性能(即它是否利用了这些新的硬件功能?)


8869
2018-01-25 17:57


起源



答案:


考虑到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导航配合良好的用户界面遵循基础知识,我认为您会很好。


4
2018-02-01 08:10



你回答了我所有的问题......感谢你们彻底调查这个问题!这很奇怪...你会认为android会在网上公开记录这些信息,或者至少澄清Android操作系统和支持谷歌电视的硬件非常类似于移动设备/平板电脑。 - Alex Lockwood
您是否认为Google TV会优于运行优化版Android?例如,可以使用更多内存和/或交换空间吗?我意识到这种事情会违背Android的设计目标...但我自己有一台Google TV,有时候希望它运行得更快。更多RAM和/或磁盘空间可以帮助... - Alex Lockwood
我非常怀疑让它使用更多RAM会让它运行得更快。我不知道当前的GoogleTV设备有多少内存,但Android在1GB内存中的运行速度远远超过Galaxy Nexus。就记录Google TV而言,它不是核心平台的一部分(例如,您无法从AOSP构建Google TV软件),因此没有记录。 - hackbod


答案:


考虑到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导航配合良好的用户界面遵循基础知识,我认为您会很好。


4
2018-02-01 08:10



你回答了我所有的问题......感谢你们彻底调查这个问题!这很奇怪...你会认为android会在网上公开记录这些信息,或者至少澄清Android操作系统和支持谷歌电视的硬件非常类似于移动设备/平板电脑。 - Alex Lockwood
您是否认为Google TV会优于运行优化版Android?例如,可以使用更多内存和/或交换空间吗?我意识到这种事情会违背Android的设计目标...但我自己有一台Google TV,有时候希望它运行得更快。更多RAM和/或磁盘空间可以帮助... - Alex Lockwood
我非常怀疑让它使用更多RAM会让它运行得更快。我不知道当前的GoogleTV设备有多少内存,但Android在1GB内存中的运行速度远远超过Galaxy Nexus。就记录Google TV而言,它不是核心平台的一部分(例如,您无法从AOSP构建Google TV软件),因此没有记录。 - hackbod


我有罗技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提供时钟


7
2018-01-25 18:11



有意思,不知道有没有运行Android的x86设备。 - Mark Ransom
感谢您的投入!我现在不在家,但我知道我的家人也有一台谷歌电视,它肯定不便携......它的大小与DVD播放器相当。你会认为它至少有一个双核处理器,但我猜不是。奇怪的是没有内置硬盘(除了那些5 GB的闪存)......我想知道为什么会这样。 - Alex Lockwood
我认为Logitech Revue“便携式” - 除了墙壁疣之外,它的大小与精装书相当。否则,我不会为此辩护任何事情;罗技有可怕的支持,然后放弃它而不解锁它。所以它不能被植根和黑客攻击。 - Larry OBrien
我相信对“便携式”的提及更多地与诸如......好吧,将它用管道录制到电视机并将整个噱头旋转90°以发送屏幕方向改变之类的事情有关。或者“摇动撤消”将是一个有趣的54英寸屏幕:-D - BRPocock


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


0
2018-01-30 23:29



是的,但是硬件的差异以及它如何影响开发人员编写应用程序的方式呢? - Alex Lockwood
@AlexLockwood与任何Android一样,碎片将成为一场噩梦。现在它只是Revue和索尼电视,但你只是等待。这就像手机发生的一样。此外,您的应用程序需要为用户做的事情对每个人来说都会有所不同,所需要的功能会有所不同,除了使用您所拥有的功能之外,您还可以做出任何全面的声明。我知道这不是一个很好的答案,只是我的2美分。 - slf
GTV处理的问题之一是输入法。您只能保证使用d-pad作为输入,但Logitech Revue有一个模拟触摸事件的鼠标。 - BitBank
@BitBank是的,但我们可以通过为智能手机提供配套应用程序来克服困难。同意,有100%触摸板可用会很好 - slf