为什么第二次在iOS上更快地执行活动?

时间:2012-08-20 16:45:04

标签: ios performance cocoa-touch

我没有支持此功能的任何核心数据,但通常情况下,你会注意到你玩的任何应用程序或者你正在使用的应用程序,当应用程序首次加载时,执行诸如显示模态视图控制器之类的操作第一次慢,但是每次都很快,它真的很快。对于我的应用程序,当我第一次呈现模态视图控制器时,大约需要3秒钟,但如果我在此之后一遍又一遍地执行它,则每次只需不到一秒钟。这是什么原因?

3 个答案:

答案 0 :(得分:2)

缓存。在我的头顶,图像经常被缓存,如果笔尖也被缓存,我也不会感到惊讶。

答案 1 :(得分:2)

不,我在我的应用中没有注意到这一点。您所看到的原因可能是一百种不同的事情,因此我们需要更多的数据来做出明智的答案。

建议您运行仪器,将时间窗口缩小到最初的3秒暂停,然后查看机器在此期间的操作。多次运行并查看CPU,IO,内存以及任何可能会降低速度的内容。

答案 2 :(得分:2)

这里有一堆可能的解释。

  • 有些东西被缓存了。第一次,它必须从“磁盘”加载一些东西,第二次它已经在内存中了。这可能是整个框架,也可能是操作系统本身的NIB或图形资源。
  • 内存管理。 iOS第一次没有足够的内存来满足请求。 iOS花了一些时间清理内存,可能会退出后台应用程序。第二次,它已经可用。
  • 可能还有很多其他人。