姜饼仿真器实例比弗罗耶(Froyo)更迟钝。为什么?
-
09-10-2019 - |
题
我不确定是否有人注意到它,但是姜饼仿真器像狗一样运行,既有滚动,导航,互动 - 都花了更长的时间,而且更便宜。当我尝试使用它时,我什至在浏览器中得到了ANR: http://www.androidpolice.com/2010/12/06/walkthrough-and-hand-whith-with-theerbread-ui-the-new-gingerbread-gingerbread-keyboard-keyboard-in-all-iss-sexiness/ (请参阅底部)。
我刚刚阅读了有关新的严格模式 http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html 关于Gbread的所有绩效改进,但到目前为止,我的经验恰恰相反。
我们可以到达底部吗?我发现自己很害怕在这一点上提出一个姜饼实例。
解决方案
上面的所有答案都具有其优点,应考虑到Google实现用于模拟设备的虚拟机的实现不如Microsoft和Apple的虚拟机,您可能不会做很多事情,但请确保您优化配置优化配置并获得更好的机器。
随着Honeycomb的引入,Android系统正在使用更多的图形功率来执行UI的渲染。当在模拟器上运行时,这无法生存地使用PC硬件的图形能力,但大多数模拟手机上的硬件总是会导致性能丢失。更多的通用X86仿真器已经可用,例如VMware,但这可能需要一些时间才能提供给Android SDK。直到有X86端口的Android蜂窝港口可以利用您的本地GPU,仿真器将迟钝。
唯一真正的解决方案是购买用于开发工作的蜂窝设备。
其他提示
当您创建新的姜饼(API 9级)AVD时,请给它一个逼真的RAM。
例如,Nexus S有512MB
您可以在“创建新的Android虚拟设备(AVD)”对话框中执行此操作。
按“ new ...”添加新的硬件参数,然后选择“设备RAM大小”,请单击“确定”。
编辑默认金额从96到512。
我看到了其他地方的讨论,这表明模拟器参数不是很好。如果您给模拟器更多记忆,显然会变得更加可用。
现在您可以轻松地编辑AVD,我已经尝试为我的Gingerbread AVD玩一些设置,终于可以使用它。
- SD卡:500MIB
- 皮肤:WVGA800
- 摘要LCD密度:240
- 缓存分区尺寸:128MB
- 最大VM应用程序堆尺寸:48
- 设备RAM尺寸:512
我的猜测是,RAM和MAX VM堆是最重要的,但是我认为最好包括所有设置,因此您可以尝试这些设置作为起点,然后调整。
我的建议:
仅在需要时附上SD卡,并且很可能不会分配更多的SD卡。这必须以某种方式模拟。
任何其他属性都不应超出您的目标设备。如果您增加了VM应用程序堆的大小,并且超过了真实设备的值,它们将崩溃,您甚至在开发过程中都没有注意到。
诚然,对于某些应用程序,默认值不足,设备RAM至少应达到目标Android设备的限制。还请记住,如果您的开发主机计算机的内存较低,那么您为模拟器分配的内存将必须交换,并且提供较小的金额将避免不必要的页面命中。
更改屏幕分辨率后,设备RAM,让设备“热身”并在新鲜的新硬件上运行,我记录了蜂窝模拟器速度。
结果在: http://www.youtube.com/watch?v=-7or8vpsiak
我发现与旧硬件上的姜饼没有什么不同。我确实希望宿主加速的GL能尽快进入SDK。现在,可能是可能的,但是不可能创建UX或演示。