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

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - 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和输入键盘显示,当用户点击输入键时,模拟器会响应用户交互并显示结果。

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

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

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