正如标题所述,安卓模拟器有多“好”?
我没有安卓手机,但开发时只使用模拟器作为测试环境是否可行?
我最初的问题:
- 模拟器的响应速度是否与正常的安卓手机一样(当然这取决于具体的手机型号,但总体来说呢)?
- 有办法控制模拟器上的内存吗?
- 是否有人遇到了在手机上出现但模拟器上未标记的问题?或反之亦然?
- 你的正常测试程序是要在两者上进行持续测试,还是递归地在模拟器上测试,最后才在手机上测试?
欢迎提供任何反馈。
谢谢,
正如标题所述,安卓模拟器有多“好”?
我没有安卓手机,但开发时只使用模拟器作为测试环境是否可行?
我最初的问题:
欢迎提供任何反馈。
谢谢,
问:模拟器的响应速度和普通安卓手机一样吗(当然这取决于具体的手机,但一般来说)?
答:绝对不是!最糟糕的例子是3D,因为它只有软件仿真。
问:是否有办法控制模拟器上的内存?
答:请具体说明,SD卡的大小是可配置的,RAM / VM内存...我不知道。
问:有没有人遇到过在手机上出现但在模拟器上没有被标记的问题?或反之亦然?
答:每个设备都有自己的定制。在模拟器上,您只能更改屏幕分辨率,但要小心:您模拟器屏幕的大小取决于您设置的像素密度。所以在您的大型模拟器上看起来不错的东西,在实际设备上可能太小了。而且不要忘记,手指比鼠标光标大得多,也不如鼠标光标准确。
问:您的正常测试程序是测试两者,还是先递归地测试模拟器,然后测试手机?
答:功能在实现期间主要在(快速)设备上进行测试,例如Nexus One。实施后的真正测试将在尽可能多的设备上进行。UI也是如此(最大的区别在于那里)。由于我有一台具有最新SDK的设备,因此我更喜欢在设备上进行测试。这对编写应用程序并不是必需的,但请注意:不要在没有至少在一个真实设备上进行测试的情况下发布应用程序 :)。
请参见此处以了解目标支持的选项。请注意,还有一个GUI工具可用于设置这些选项。
要回答关于模拟器的“好坏”问题,您需要了解模拟器是什么。
模拟器是一种软件(qemu),能够使用仿真在开发机上运行ARM指令。这意味着模拟器将运行类似于物理设备上运行的Android平台。与编译为开发机而不是目标硬件的模拟器相比,这种设置更好。然而,存在许多限制,例如:
我只回答问题#3,因为其他答案已经涵盖了。
在模拟器上存在一些问题,而在设备本身上不存在。其中一个主要问题是机场模式根本无法在模拟器上工作;即使打开飞行模式,互联网仍然可以工作。
此外,如果您只是使用存储的模拟器,则无法访问市场,这意味着您的应用程序可能尝试通过模拟器与之交互的任何方式都无法进行测试。
我知道还有一些其他小问题,这些问题在实际设备和模拟器之间存在差异。由于有足够的事情,我强烈建议您不要只在模拟器上开发。
只有使用模拟器,你的测试才能进行更多的模拟测试以覆盖:
-触摸 -传感器
有一些框架可以插件到模拟传感器/设备移动、使用网络摄像头等来模拟相机。