原文:对比Windows 8模拟器(Simulator)和Windows Phone仿真器(Emulator)

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

先看看百科的解释:

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

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

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

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

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

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

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

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

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

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

对比Windows 8模拟器(Simulator)和Windows Phone仿真器(Emulator)的更多相关文章

  1. 转 如何使用Windows Media Load Simulator进行Windows Media服务器性能测试和监控

    Windows Media Load Simulator(WMLS)有两个主要的用途:作为极值或者压力测试工具和在线监视器.   1   极值和压力压力测试:你能够在达到期望的极值压力条件下测试离线的 ...

  2. xamarin 学习笔记02- IOS Simulator for windows 安装

    微软发布了在window下的ios模拟器 下载 ios模拟器 并安装在windows系统上. Xamarin for Visual Studio 和 网络上的 Mac 中的 Xamarin.iOS 开 ...

  3. 转载扩展Windows Mobile模拟器存储空间的方法

    扩展Windows Mobile模拟器存储空间的方法 在Windows Mobile应用程序开发的初期,可以使用SDK自带的模拟器来进行调试,这给我们开发人员提供了一种方便的途径.一般的应用程序,占用 ...

  4. 通过刷bios的方式在win8.1平板上启动windows phone模拟器

    最近买了个Windows8.1平板电脑,不是Surface Pro,太贵,而是国产的乐凡F2(64G.4G内存),CPU是赛扬U1037.最开始安装Visual Studio2013以及其他开发工具都 ...

  5. [Windows Phone]解锁、注册Windows Phone实体手机为开发机(Windows 8)

    原文:[Windows Phone]解锁.注册Windows Phone实体手机为开发机(Windows 8) 前言 ? ? 最近要开发Windows Phone(以下简称WP)的手机游戏,由於使用模 ...

  6. Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序

    http://blogs.msdn.com/b/azchina/ 本文转自:http://blogs.msdn.com/b/azchina/archive/2010/02/09/windows-azu ...

  7. U盘启动盘的制作--用U盘硬装Windows系统、或是重装Windows系统

    借助IT天空的优启通U盘启动盘的制作--用U盘装Windows系统.或是重装Windows系统之U盘启动盘的制作 1.==================================== 2.== ...

  8. Windows Azure Active Directory (2) Windows Azure AD基础

    <Windows Azure Platform 系列文章目录> Windows Azure AD (WAAD)是Windows Azure提供的一个REST风格的服务,为您的云服务提供了身 ...

  9. VS2013: upgrading a Windows Phone 7/8 and Windows 8 apps(转)

    VS2013: upgrading a Windows Phone 7/8 and Windows 8 apps September 17, 2013Windows 8, Windows PhoneJ ...

随机推荐

  1. HDU4876ZCC loves cards(多校题)

    ZCC loves cards Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...

  2. 第一章. ActionScript 语言基础

    第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...

  3. MVC之Session State性能

    ASP.NET MVC之Session State性能问题(七)   前言 这一节翻译一篇有关Session State性能问题的文章,非一字一句翻译. 话题 不知道我们在真实环境中是否用到了Sess ...

  4. Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案

    原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...

  5. SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge (并不在同一个版本库中)

    在使用svn merge命令报错 英文版本:SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge 中文版本报错:并不 ...

  6. 【转】Acm之java速成

    这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入:格式为:Scanner cin = new Sca ...

  7. NPC

    这里的想说的NPC不是Non-Player-Controled,非玩家控制角色,而是Non-determinisitc Polynomial complete problem,它属于一类很特殊的问题, ...

  8. SWT的GridData一些参数的图示

    1. 参数:verticalSpan GridData gridData=new GridData(); gridData.verticalSpan=100; final Text nameText= ...

  9. Android获取SIM卡信息--TelephonyManager

    1>获得TelephonyManager  TelephonyManager telMgr = (TelephonyManager) getSystemService(TELEPHONY_SER ...

  10. python import media模块

    安装PyGraphics包 (python import media模块)有一段代码要import media,打开python自带的IDLE,输入: >>>import media ...