我一直在研究一个新的应用程序,当我在模拟器上运行它时,它非常慢。应用程序中没有什么花哨的,只有UINavigationControllers和文本。如果我从Xcode启动应用程序(有或没有调试,无关紧要),则只会出现这种情况。如果我在iPhone上运行应用程序或通过点击SpringBoard中的图标直接从模拟器启动它,性能问题就会消失。
对于它的价值而言,我的所有其他应用程序在模拟器中从Xcode运行时运行得很好,所以它必须是这个应用程序特有的东西。有没有人经历过这个?
更新:当应用程序通过Instruments运行时,没有性能损失。我没有使用任何第三方库。这是对Apple SDK的所有调用。
谢谢, Arash的
答案 0 :(得分:2)
你有没有在仪器中看到它,看看它花时间在哪里?没有理由猜测你什么时候可以测试。
答案 1 :(得分:1)
在活动调试中在模拟器中运行应用程序将始终使应用程序变慢。始终,并且正如您所描述的那样。
基本上,“Build and Go”会因为运行调试器而变慢。
这与“Debug”与“Release”不同。如果您实际上没有调试它,调试版本将快速运行。
答案 2 :(得分:1)
您是否正在使用NSLog()
来打印大量信息?当您通过Xcode启动时,该信息将通过管道传输到调试控制台,如果有很多信息,则需要时间更新窗口。直接启动或在设备上启动时,数据只是存储在一个文件中,从而产生较少的开销。
我曾经通过删除日志记录语句将程序的运行时间从几分钟缩短到几秒钟。不幸的是,这是一场定时编程比赛。
答案 3 :(得分:1)
我有完全相同的问题,花了大约2小时来解决它。在我的情况下,我认为这是因为我设置了“启用Guard Malloc”。如果不是这样,我的另一个猜测是糟糕的业力。
答案 4 :(得分:0)
模拟器调试,你应该确保你的应用程序在模拟器上运行debug->慢动画没有检查标记