苹果的iOS模拟器很棒 - 我经常使用它,因为它比在真实设备上运行要容易得多。当然,它也有一些缺点,其中之一就是它太过强大了。由于它可以访问计算机的资源,我经常发现在iOS模拟器上运行良好(流畅)的代码并不总是在真实设备上运行流畅,例如我的iPhone 4。
这个问题的标题已经说得很清楚了,但我还是再说一遍:是否有可能使iOS模拟器像真实的iOS设备一样运行?
苹果的iOS模拟器很棒 - 我经常使用它,因为它比在真实设备上运行要容易得多。当然,它也有一些缺点,其中之一就是它太过强大了。由于它可以访问计算机的资源,我经常发现在iOS模拟器上运行良好(流畅)的代码并不总是在真实设备上运行流畅,例如我的iPhone 4。
这个问题的标题已经说得很清楚了,但我还是再说一遍:是否有可能使iOS模拟器像真实的iOS设备一样运行?
你需要在实际设备和模拟器上对你的特定应用程序进行基准测试,因为差异取决于你的应用程序所做的事情。
比如说,模拟器在你的代码上测量速度快了20倍。你可以尝试在应用程序委托中创建一个重复的NSTimer,在计时器回调中每0.05秒nanosleep主线程47.5毫秒(或其他间隔和比例),看看是否能将模拟应用程序的速度降至与设备上的应用程序大致相同。你可能需要通过试错来实验得到正确的“泥浆”量,以便使你的应用程序陷入困境。
在计时器回调中,你还可以监视你的应用程序进程的VM脏页表,并在其扩展一定数量时终止应用程序。
#if TARGET_IPHONE_SIMULATOR
SEL memoryWarningSel = @selector(_performMemoryWarning);
if ([[UIApplication sharedApplication] respondsToSelector:memoryWarningSel]) {
NSLog(@"simulated memory warning");
[[UIApplication sharedApplication] performSelector:memoryWarningSel];
}
#endif
#if TARGET_IPHONE_SIMULATOR
{
const struct timespec delay = { 0, 100000000 };
nanosleep(&delay, NULL);
}
#endif
不,这是苹果销售开发许可证的方式。
您可以使用某种工具来限制CPU和RAM,但这只是猜测。