In the development of mobile applications, the simulator (Simulator) and the emulator (emulator) are often used, and the similarities and differences between the simulator (Simulator) and the simulator (emulator) are summarized in this paper.
First look at the encyclopedia explanation:
simulator : Computer Simulation (SIM) is a method of simulating by computer. The simulator developed by computer software can be used for complex simulation tasks such as fault tree analysis and test VLSI logic design. In the field of optimization, the simulation of physical processes is often used in conjunction with evolutionary computation to optimize control strategies. There is a special type in the computer simulator: A computer architecture simulator that simulates the incompatibility of another instruction on one computer or a computer with different systems. Alan has suggested that machine A or machine B (of different systems) does not consider the limitations of hardware and speed, and can theoretically be used to imitate each other (i.e. Turing machines). In reality, however, speed and hardware must be considered. (Original text from Baidu Encyclopedia)
emulator : Emulator (emulator) the ability to reproduce another system in a system. The difference with computer simulation (Computer simulation) is that the emulator is dedicated to imitating the external performance and behavior of the system, rather than simulating the abstract model of the system. (Original text from Baidu Encyclopedia)
The above concept definition is more abstract, from the mobile application development, the two simple understanding are as follows:
Simulator is an attempt to simulate the operation characteristics of the real equipment, mainly simulate the function and instruction system of the equipment, such as display, sound and other characteristics of the simulation;
The simulator is an attempt to simulate the internal running characteristics of the real equipment, not only simulate the application running characteristics, but also provide the simulation hardware characteristics.
We can use a simple example to understand the similarities and differences between the two, for example, we design a calculator mobile application,
If you use the emulator to run the application, the emulator simulates only the UI and the input keyboard display, and when the user clicks on the input key, the emulator responds to the user's interaction and displays the results.
If you run the application using the emulator, the emulator first loads a different firmware system based on user settings, and then converts the application to code that the microprocessor with the device can run, as if it were running on a real device.
After reading the above example, you should have a basic concept, the simulator is more close to the actual equipment than the simulator environment.
As a conclusion, in the actual project development, if the simple functional testing, the use of simulator can meet the demand. If you test more complex application features, such as application performance, start-up speed, etc., it is recommended to use the emulator. Of course, real device testing is necessary despite the fact that the emulator has a good final rendering and performance.
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/