【问题标题】:App runs slow for the first few seconds?应用程序在前几秒运行缓慢?
【发布时间】:2012-07-13 03:54:32
【问题描述】:

我为 iphone 制作了一个游戏,我不确定如何“加载”游戏的各个组件。我创建了一个加载屏幕,它只是让游戏在后台运行几秒钟。通常,一旦程序运行了 10 秒左右,它就会变得更加流畅,并且帧速率会大大加快。但是,我不知道它为什么运行缓慢,我想知道是否有人可以就为什么会这样,以及如何在显示加载屏幕时以编程方式加载这些东西给我建议。提前致谢!

编辑:具体来说,我正在尝试加载一些UIImageViewsUIVIews,包括一个大背景。

【问题讨论】:

  • 没有足够的细节。你在启动时加载什么等等。
  • @skinnyTOD 编辑了我的原始帖子以指定我正在加载的内容
  • 嗯,显然这可能是你的问题。你需要在启动时加载它们吗?你能做“延迟加载”(需要时加载)吗?您是否运行 Instruments 来查看分配了多少内存?
  • @skinnyTOD 这可能是问题所在,但是当我使用NSLog 语句检查它们是否已添加为应用程序中主视图的子视图时,它说得很快(在前 2 或3秒)他们都被添加为子视图,但是游戏继续缓慢移动。我用过仪器,似乎分配的内存不多。
  • 好吧,消除的过程 - 你可以禁用加载其中的一些,看看它是否有什么不同?任何音频等都一样。Instruments 中有一些功能(显然)可以让您查看时间花在哪里 - 我没有使用它 - 可能值得一试

标签: iphone ios loading frame-rate


【解决方案1】:

应用需要足够的时间来加载 UI 组件,例如 imageview。这可能是您的问题背后的原因。还有一点需要注意的是,如果你在 didFinishLaunchingWithOptions 函数中做的事情太多,应用程序将被苹果拒绝。该应用程序应在 24 秒内启动。因此,最好显示加载屏幕并在后台执行您的活动。

【讨论】:

  • 如我对 skinnyTOD 的回复中所述,使用NSLog 语句检查是否已将UIImageViews 添加到应用程序的主视图中似乎表明已添加UIImageViews在最初的几秒钟内。它们是否仍需要以某种方式加载,即使它们已作为子视图添加到主视图中?
  • 你把加载图像视图的代码放在哪里?在 didFinishLaunchingWithOptions 或其他页面?
【解决方案2】:

回答:我发现问题只是因为我创建了太多特定类型的对象,这大大降低了帧速率。感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2015-05-03
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2011-01-14
    相关资源
    最近更新 更多