正如标题所说,Android 模拟器有多“好”?
我没有安卓手机,但是否可以纯粹使用模拟器作为测试环境进行开发?
我最初的问题:
- 模拟器是否像普通的安卓手机一样响应迅速(当然这取决于具体的手机,但一般来说)?
- 有没有办法控制模拟器上的内存?
- 有没有人遇到过在手机上被标记但不是模拟器的问题?或相反亦然?
- 您在整个过程中进行测试的正常测试程序是什么,或者递归地在模拟器上进行测试并在最后进行电话测试?
对于任何反馈,我们都表示感谢。
谢谢,
正如标题所说,Android 模拟器有多“好”?
我没有安卓手机,但是否可以纯粹使用模拟器作为测试环境进行开发?
我最初的问题:
对于任何反馈,我们都表示感谢。
谢谢,
问:模拟器是否像普通的安卓手机一样灵敏(当然这取决于具体的手机,但一般来说)?
答:绝对不是!最糟糕的例子是 3D,这是,afaik,只有软件仿真。
问:有没有办法控制模拟器上的内存?
A: 请说明,SD卡的大小是可配置的,RAM/VM-Memory...我不知道。
问:是否有人遇到过在手机上被标记但在模拟器上没有被标记的问题?或相反亦然?
A:每个设备都有自己的定制。在模拟器上您只能更改屏幕分辨率,但请注意:模拟器屏幕的大小取决于您设置的像素密度。所以在你的大模拟器上看起来不错的东西在真实设备上可能太小了。并且不要忘记,手指比鼠标光标大得多,而且不如鼠标光标准确。
问:您在整个过程中进行测试的正常测试程序是什么,或者递归地测试模拟器和最后的电话?
答:功能在实施过程中主要在(快速)设备上进行测试,例如 Nexus One。实施后的真正测试将在尽可能多的设备上进行。用户界面也是如此(那里的大多数差异)
由于我有一个具有最新 SDK 的设备,我更喜欢在设备上进行测试。这不是编写应用程序所必需的,但请:不要在没有在真实设备上进行至少一轮测试的情况下发布应用程序 :)
有关目标支持的选项,请参见此处。请注意,还有一个用于设置这些的 GUI 工具。
我将只回答#3,因为其他答案已经涵盖。
肯定有一些问题只存在于模拟器上,而不存在于设备本身上。一大问题是机场模式根本无法在模拟器上运行。尽管打开了机场模式,互联网仍然有效。
此外,如果您只是使用股票模拟器,则无法访问市场,这意味着您的应用程序可能尝试与之交互的任何方式都无法通过模拟器进行测试。
我知道在实际设备和模拟器之间还遇到了一些其他较小的问题。有足够多的东西,我强烈建议你不要只在模拟器上开发。
要回答有关模拟器有多“好”的一般性问题,您需要查看模拟器是什么。
仿真器是一个软件 (qemu),它能够使用仿真在开发人员机器上运行 arm 指令。这意味着模拟器将运行一个类似于在物理设备上运行的安卓平台。这种设置比使用为开发机器而不是为目标硬件编译平台的模拟器要好。但是有一些限制,例如
一般规则是,如果可能,请尝试在设备上进行尽可能多的测试,以避免最终出现意外。模拟器适用于测试一般功能、避免明显错误的初始测试以及检查布局和 UI 在不同屏幕尺寸下的外观是否合适。当涉及到与外界交互时的任何性能关键测试或行为时,例如网络交互,不推荐使用模拟器。它可能会告诉您您的应用程序存在严重问题,但不相信模拟器上的“足够好”足以满足现实世界的需求。
只有使用模拟器,您的测试才能涵盖更多模拟测试:
-触摸传感器
有插件框架来模拟传感器/设备移动,使用网络摄像头的相机等。