应用程序在模拟器和设备之间的内存使用差异

时间:2016-08-22 04:37:26

标签: ios iphone xcode memory simulator

我在我的Macbook Air和我的Iphone 6s上运行了我的应用程序,下面的图像是我浏览应用程序中的所有UI后的内存使用情况。在这两个场景中,我执行了类似的任务和持续时间。为什么模拟器的内存使用量比实际设备高得多。即使设备内存使用情况似乎合理,我还应该担心吗?

enter image description here

1 个答案:

答案 0 :(得分:7)

好问题。感谢您提出这样的问题。

Apple Documentation says

  

模拟器是一个有用的工具,但它不应该是您测试应用程序的唯一方法。由于模拟器是在Mac上运行的应用程序,因此它可以访问计算机的资源,包括CPU,内存和网络连接。所有这些资源都可能比移动设备上的资源更快。因此,模拟器不能准确测试应用程序的性能,内存使用情况和网络速度。出于同样的原因,请始终在设备上测试应用程序用户界面的性能。在模拟器中,您的应用程序的用户界面可能看起来比在设备上运行更快更顺畅

Xcode’s iOS simulator reports 2GB RAM for iPhone 6S, 4GB for iPad Pro

Xcode's iOS simulator shows 2GB of RAM for iPhone 6s and 6s Plus, 4GB for iPad Pro

最后讨论的解决方案是

Why the iPhone Simulator is Awesome

我从jbat100的回答中找到了确切的解决方案。

  

在Simulator中渲染OpenGL ES的性能与OpenGL ES在实际设备上的性能无关。 Simulator提供优化的软件光栅化器,利用Macintosh计算机的矢量处理功能。因此,您的OpenGL ES代码可能在iOS模拟器中运行得更快或更慢(取决于您的计算机和您正在绘制的内容),而不是在实际设备上运行。始终在真实设备上分析和优化您的绘图代码,并且永远不要假设模拟器反映真实世界的性能。

Iphone Simulator - Allocates way too much memory and runs slow compared to device