【问题标题】:Android Emulator vs Real DeviceAndroid 模拟器与真实设备
【发布时间】:2010-11-10 01:36:54
【问题描述】:

开发人员应该注意哪些差异?

【问题讨论】:

    标签: android


    【解决方案1】:

    我想说的是,目前有几种“真正的设备”在使用 Android,而且还会有更多,具有不同的硬件禀赋——有些有 GPS,有些没有,触摸屏同上,真实的键盘而不是虚拟屏幕,相机分辨率等。

    虽然操作系统会为您完成很多繁重的工作,但您仍然希望确保您的设计能够在您打算支持的每台 Android 设备上提供有意义的用户体验,尽管它们的硬件功能各不相同 - 在从这个意义上说,为 Android 设计应用程序更类似于为 Linux、Windows 或 Web 设计应用程序(满足各种硬件配置细节),而不是例如Mac 或 iPhone(您需要考虑更窄的一组可能的硬件配置)。

    模拟器是(或试图成为;-)“一个”Android 设备——但会有其他(“真实”的;-)具有不同的屏幕分辨率、输入外围设备等...

    【讨论】:

      【解决方案2】:

      我知道这些限制:

      1. 预装软件。与模拟器相比,真机可以预装更多的应用程序。
      2. 您不能在模拟器中使用“捕捉”照片/视频功能。

      根据emulator documentation,它的局限性是:

      模拟器的功能限制包括:

      • 不支持拨打或接听实际电话。你可以 通过模拟器模拟电话(拨打和接听) 然而,控制台。

      • 不支持 USB 连接

      • 不支持连接设备的耳机
      • 不支持确定网络连接状态
      • 不支持确定电池电量和交流充电状态
      • 不支持确定 SD 卡插入/弹出
      • 不支持蓝牙

      IMO您可以使用模拟器来简化UI开发,在“设备屏幕”上查看UI,确保应用布局正常,应用可以运行,您可以通过模拟gps位置,网络速度或测试一些特殊情况消息传递等。但必须在真实设备上进行测试。

      【讨论】:

      • 此外,模拟器图像无法绑定到您的 Google 帐户,因此您无法测试与此相关的任何内容(GMail、您的真实联系人、市场、日历等)。
      • 您知道为什么要强制执行此限制吗?
      • 这是一个许可问题。该模拟器基于 Android 的开源版本,但专有的 Google 应用程序需要与手机供应商或移动运营商达成协议。
      • 所以,如果你想在一些新奇的设备上安装 android,你也不能在那里安装 Google 应用程序,对吗?
      • 每个应用的地图堆大小在真实设备上限制为 16/24/48MB,具体取决于设备。模拟器通常限制为每个应用程序 16MB,就像 G1 等旧设备一样。此参数在创建 avd 时无法设置,但您可以在启动模拟器时将其作为参数传递,即:-prop dalvik.vm.heapsize=24m 这样您还可以正确模拟正确的“每个应用程序堆”大小设备。
      【解决方案3】:

      1.5 SDK 存在以下限制(来自SDK website):

      • 不支持拨打或接听实际电话。不过,您可以通过模拟器控制台模拟拨打和接听的电话。
      • 不支持 USB 连接
      • 不支持摄像头/视频捕获(输入)。
      • 不支持连接设备的耳机
      • 不支持确定连接状态
      • 不支持确定电池充电水平和交流充电状态
      • 不支持确定 SD 卡插入/移除
      • 不支持蓝牙
      • 不支持多点触控

      根据经验,我在实际开发中注意到以下差异:

      • 您可以在模拟器中忽略一些会导致设备崩溃的错误(例如,不关闭光标)
      • 您与设备的交互方式与模拟器的交互方式不同。与模拟器相比,我在真实设备上使用横向模式的次数更多。
      • 有不同的 CPU。在你的模拟器上速度很快的东西在真实设备上会变慢。
      • 您可以使用该设备进行测试。使用模拟器进行 dogfood 测试更加困难。

      如果您需要真机测试人员,可以使用 google 群组here

      【讨论】:

        【解决方案4】:

        无法使用模拟器测试触摸事件,只能通过在模拟器上单击鼠标进行测试,任何开发基于触摸屏的应用程序的开发人员都应该知道这一点。

        【讨论】:

          【解决方案5】:

          关于 google 帐户的一条评论:使用适用于 Android 2.2 的 google API 8 版,您可以在设备上添加一个 google 帐户。但是,它只允许对谷歌 API 的测试(例如谷歌文档)进行身份验证,但不允许同步联系人等。

          【讨论】:

            【解决方案6】:

            这是一个错误,因为(错误地)尝试了摄像头和视频支持:摄像头和视频 Intent 在“捕获”后不会将其输出存储在 MediaStore 数据库中。

            【讨论】:

              【解决方案7】:

              简单来说,模拟器是在您的计算机上运行的设备(作为软件),而真实设备是您可以持有的东西。两者之间当然会有一些差异,例如某些特定于设备的功能在模拟器上不可用。

              编辑:从已过期的答案中删除了一个链接。

              【讨论】:

              • 这正是stackoverflow指定您不应该使用链接的原因,链接已失效
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-09-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多