我没有任何支持这一点的核心数据,但通常,您会注意到,您玩过的任何应用程序或正在处理的应用程序,当应用程序首次加载时,执行诸如显示模态视图控制器之类的操作都很慢第一次,但以后的每一次,都非常快。对于我的应用程序,当我第一次呈现模态视图控制器时,大约需要 3 秒,但如果之后我一遍又一遍地执行此操作,则每次只需要不到一秒的时间。这是什么原因?
问问题
88 次
3 回答
2
缓存。在我的脑海中,图像经常被缓存,如果笔尖也被缓存,我不会感到惊讶。
于 2012-08-20T16:49:53.493 回答
2
不,我在我的应用程序中没有注意到这一点。你看到的原因可能是一百种不同的事情,所以我们需要更多的数据来做出明智的答案。
建议您运行 Instruments,将时间窗口缩小到最初的 3 秒暂停,然后查看机器在此期间在做什么。多次运行它并查看 CPU、IO、内存,以及任何可能减慢它的东西。
于 2012-08-20T17:00:32.060 回答
2
这里有很多可能的解释。
- 有东西被缓存了。第一次,它必须从“磁盘”加载一些东西,第二次它已经在内存中。这可能是整个框架,也可能是操作系统本身的 NIB 或图形资源。
- 内存管理。iOS 没有足够的内存来满足第一次请求。iOS 花了一些时间清理内存,可能会退出后台应用程序。第二次,它已经可用了。
- 可能还有很多其他人。
于 2012-08-20T17:01:43.260 回答