12

我不确定是否有其他人注意到它,但 Gingerbread 模拟器运行起来就像一条狗,滚动、导航、交互都需要更长的时间并且更不稳定。当我尝试使用它时,我什至在浏览器中遇到了 ANR:http ://www.androidpolice.com/2010/12/06/walkthrough-and-hands-on-with-the-gingerbread-ui-the-new -gingerbread-keyboard-in-all-its-sexiness/(见底部)。

我刚刚在http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html阅读了新的 StrictMode以及 Gbread 的所有性能改进,但到目前为止我的经验表明恰好相反。

我们能深入了解这件事吗?在这一点上,我发现自己害怕提出姜饼的实例。

4

6 回答 6

2

当您创建新的 GingerBread(API 级别 9)AVD 时,请为其提供实际数量的 RAM。

例如 Nexus S 有 512MB

您可以在“创建新的 Android 虚拟设备 (AVD)”对话框中执行此操作。

按“New...”添加新的硬件参数并选择“Device ram size”,单击“OK”。

将默认数量从 96 编辑为 512。

于 2011-01-03T01:21:58.490 回答
2

上述所有答案都有其优点,应予以考虑,但请记住 Google 实施的用于模拟设备的虚拟机不如 Microsoft 和 Apple 提供的那样好,您可能无能为力,但请确保优化配置并获得更好的机器。

随着 Honeycomb 的引入,android 系统正在使用更多的图形能力来渲染 UI。这在模拟器上运行时不能原生地使用 PC 硬件的图形功能,但大多数模拟手机上的硬件,这总​​是会导致性能下降。更通用的 X86 仿真器已经可用,例如 VMWare,但这可能需要一些时间才能用于 Android SDK。在可以利用您的原生 GPU 的 Android Honeycomb 的 X86 端口可用之前,模拟器将变得迟缓。

唯一真正的解决方案是购买 Honeycomb 设备进行开发工作。

于 2011-05-03T16:20:31.883 回答
1

我在其他地方看到了对此的讨论,这表明模拟器参数设置不正确。如果你给模拟器更多的内存,它显然会变得更有用。

于 2010-12-13T19:23:14.947 回答
1

现在您可以轻松地编辑 AVD,我尝试使用 Gingerbread AVD 的一些设置,它终于可以使用了。

  • SD卡:500MiB
  • 皮肤:WVGA800
  • 抽象LCD密度:240
  • 缓存分区大小:128MB
  • 最大 VM 应用程序堆大小:48
  • 设备内存大小:512

我的猜测是 RAM 和最大 VM 堆是最重要的,但我认为最好包括所有设置,因此您可以尝试这些作为起点,然后进行调整。

于 2011-01-28T01:38:03.903 回答
0

我的建议:

仅在需要时才附加 SD 卡,并且很可能不会分配超出您需要的内容。这必须以某种方式进行模仿。

任何其他属性都不应超出您的目标设备。如果您增加 VM 应用程序堆大小并超过真实设备的值,它们将出现您在开发期间甚至没有注意到的崩溃。

诚然,对于某些应用程序而言,默认值是不够的,并且 Device Ram 应该至少为 258,以达到目标 android 设备的限制。还要记住,如果您的开发主机内存不足,那么您为模拟器分配的内存将不得不被交换,并且提供更少量的内存将避免不必要的页面命中。

于 2011-03-01T21:37:31.727 回答
0

更改屏幕分辨率后,设备启动,让设备“预热”并在新硬件上运行,我记录了 Honeycomb 仿真器的速度。

结果在:http ://www.youtube.com/watch?v=-7OR8vPsIak

我发现它与旧硬件上的 Gingerbread 没有太大区别。我确实希望主机加速的 GL 能尽快找到 SDK。目前,简单的开发可能是可能的,但用户体验创建或演示是不可能的。

于 2011-04-24T08:35:57.100 回答