惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
B
Blog
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
博客园 - Franky
V
V2EX
IT之家
IT之家
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
F
Fortinet All Blogs
I
InfoQ
云风的 BLOG
云风的 BLOG
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Microsoft Security Blog
Microsoft Security Blog

博客园 - jv9

SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片 SharePoint 2013常用开发工具分享 SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片 SharePoint 2013技巧分享系列 - 隐藏Blog和Apps左侧导航菜单 常用Git代码托管服务分享 Microsoft Client Development MVP 2013 - 2014 车祸 Windows 8实例教程系列 - 数据绑定高级实例 Windows 8实例教程系列 - 数据绑定基础实例 Windows 8应用实例解析 - WinRT下创建GIF动画(Flipflop) Windows 8实例教程系列 - 布局控制 Windows 8实例教程系列 - 自定义应用风格 轻松搭建Windows8云平台开发环境 Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月28日-2月3日) Windows 8应用开发书籍汇总 Silverlight动态设置WCF服务Endpoint 心境 Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月7日-1月14日) Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月1日-1月6日)
对比Windows 8模拟器(Simulator)和Windows Phone仿真器(Emula...
jv9 · 2013-02-15 · via 博客园 - jv9

2013-02-15 12:12  jv9  阅读(2812)  评论()    收藏  举报

从事移动应用开发,经常会用到模拟器(Simulator)和仿真器(Emulator),本篇将总结对比模拟器(Simulator)和仿真器(Emulator)的异同。

先看看百科的解释:

模拟器: 计算机模拟(简称sim)是利用计算机进行模拟的方法。利用计算机软件开发出的模拟器,可以进行故障树分析、测试VLSI逻辑设计等复杂的模拟任务。在优化领域,物理过程的模拟经常与演化计算一同用于优化控制策略。计算机模拟器中有一种特殊类型:计算机架构模拟器,用以在一台计算机上模拟另一台指令不兼容或者体系不同的计算机。阿兰·图灵曾提出:(不同体系的)机器A或机器B不考虑硬件和速度的限制,在理论上可以用指令实现互相模仿(即图灵机)。然而在现实中,速度和硬件是必须考虑的.(原文字来自baidu百科)

仿真器: 仿真器(emulator)以某一系统复现另一系统的功能。与计算机模拟(Computer Simulation)的区别在于,仿真器致力于模仿系统的外在表现、行为,而不是模拟系统的抽象模型。(原文字来自baidu百科)

以上概念定义较为抽象,从移动应用开发来看,两者简单理解如下:

模拟器是尝试模拟真实设备的应用运行特征,主要模拟设备的功能和指令系统,例如显示,声音等特征的模拟;

仿真器是尝试模拟真实设备的内部运行特征,不仅仅模拟应用运行特征,而且还提供模拟硬件特征;

我们可以用一个简单的实例理解两者的异同,例如我们设计有一个计算器移动应用,

如果使用模拟器运行该应用,模拟器仅模拟UI和输入键盘显示,当用户点击输入键时,模拟器会响应用户交互并显示结果。

如果使用仿真器运行该应用,仿真器首先会根据用户设置,载入不同的固件系统,然后将应用转换为设备所具备的微处理器能够运行的代码,其整个过程如同运行在真实设备一样。

看完上面的实例,大家应该有一个基本的概念,仿真器比模拟器更接近实际设备运行环境。

作为结论,在实际项目开发中,如果从事简单功能性测试,使用模拟器可以满足需求。而如果测试较为复杂的应用特征,例如,应用性能,启动速度等,推荐使用仿真器。当然,尽管仿真器最终渲染效果和性能都很好,真实设备测试还是必须的。