代码之家  ›  专栏  ›  技术社区  ›  Kenny Wyland

缩短iPhone应用程序启动时间

  •  3
  • Kenny Wyland  · 技术社区  · 14 年前

    我正在尝试为我的应用程序调查一个很长的启动时间,可以使用一些帮助。启动大约需要6-7秒,这太长了。我没有加载任何数据集或任何东西,但这个应用程序是一个计算器,所以我的XIB有很多按钮和按钮图像。

    我想用仪器(或其他东西)来分析所有的时间都花在了哪里,以便我可以进行优化,但是仪器文档并没有给我多少关于如何使用它来解决这个特定问题和/或如何解释结果的细节。

    你对如何测试这个有什么建议吗?指向如何使用仪器进行此操作的教程的指针?iTunes U视频或其他什么?

    4 回复  |  直到 14 年前
        2
  •  2
  •   Kenny Wyland    14 年前

    我有一个背景图像,是一个不错的纹理渐变图像。我缩小了它的文件大小(改变了纹理,用不同的选项导出)。

    我从前面加载100个按钮(这是一个计算器)到加载大约15个按钮,但我试图以一种秘密的方式进行,这样用户就不会注意到。大约有50个按钮在启动时是看不见的,因为你必须点击一个SHIFT按钮才能看到它们,所以它们很容易被延迟加载。其他的是可见的,但我认为用户不会在启动时直接点击其中的大部分,因为他们需要先点击一些数字。所以我把所有的数字键盘按钮和清除按钮都留在了XIB中,这样它们就可以在启动时加载,但从XIB中删除了所有其他的东西。

    这让我在屏幕上有一个空白区域,你可以看到按钮在空白区域填充,因为我懒得加载它们(填充非常快,但是你可以看到空白区域,然后出现所有的按钮)。所以我更新了背景渐变图形,以包含按钮的图像。按钮似乎在那里,但它们不在,所以除非用户在2秒内点击一个假按钮,否则他们不会注意到问题…通常他们只是试着再次点击那个按钮,然后它通常是懒惰的加载,因此工作。

        3
  •  1
  •   Paul Ardeleanu    14 年前

    以下是一些建议:

    • 你需要一次装上所有的按钮吗?
    • 你的图像中使用过透明胶片吗?
    • 图片的尺寸是否准确?拉伸(调整大小)需要时间来计算
    • 您是否执行了任何阻塞主线程的操作?
        4
  •  0
  •   hotpaw2    14 年前

    我将在您的实际设备(调试器断开连接)上测量空的虚拟应用程序(可能是基于xcode窗口的应用程序模板)的启动时间。然后开始将初始化代码、视图和对象从应用程序添加到这个虚拟应用程序中,直到找到最慢的启动时间。

    推荐文章