【问题标题】:Why my iPhone app has a delayed loading?为什么我的 iPhone 应用程序加载延迟?
【发布时间】:2010-12-01 14:06:53
【问题描述】:

我注意到一些 iPhone 应用程序会立即为您提供标题屏幕。 还有一些应用程序可以让您在短时间内出现黑屏/黑屏。

我有后一个问题,但它持续了大约 2 秒。 我想显示一个 PNG 图像(超过 200 KB 大小)和一个加载指示器视图。

我的应用基于 UIView。指定了一个自定义 UIView,它基本上将所述图像加载并呈现为壁纸。

我尝试不加载此图像,但我仍然需要 2 秒的延迟时间才能加载。 应用委托基本上将视图控制器的视图设置为子视图。

此延迟仅在设备上可见,在模拟器上不可见。 我在看什么?

【问题讨论】:

    标签: iphone loading delayed-execution


    【解决方案1】:

    如果您在 mainbundle 中放置 Default.png 文件,它会在应用程序被点击到您将其替换为另一个视图之间的启动时间显示。

    您在模拟器中看不到它的原因是它在加载您的应用时速度更快。

    如果您想显示进度指示器,则只有在调用 appDidFinishLaunching 后才能执行此操作,但您看到的延迟仍然存在。

    我使用的一个技巧是在 appDidFinishLaunching 中再次显示相同的 Default.png,然后在其上绘制一个进度条。当然在初始延迟期间仍然有静态显示,但是从那里直到我的所有初始视图都加载完毕,我会显示一个进度条。

    您应该看到最近在 StackOverflow 上对此进行了一些讨论。看到这个:How To Make Your iPhone App Launch Faster

    【讨论】:

    • 这个秘密比你想象的还要大。在许多 Apple 应用程序中,它们会向您显示您上次运行屏幕时的画面,让您认为应用程序立即启动并运行,而事实上,该图像是静态的。但是 Apple 是唯一可以做到这一点的人,因为我们不能拥有一个可以更改的 Default.png(签名的应用程序和所有)。我们必须使用静态显示,例如徽标或其他东西,然后我们可以添加进度条,让用户觉得我们很快就会完成。
    • 试试看。运行 Apple 的一个应用程序并尝试立即与之交互,您会发现它实际上并没有反应,直到几秒钟过去了。他们如何欺骗您以为他们已经启动并运行,这非常酷。请参阅我上面发布的链接。
    • 是的。刚刚用 Notes 应用试了一下。所以我试图找到一个图像工具,这样我就可以从模拟器中裁剪屏幕截图。有什么建议吗?
    • 这是一种方法,可以截取模拟器的屏幕截图,或者更好的是,在连接到 Mac 并运行 XCode 的同时在 iPhone 上运行您的应用程序。转到管理器窗口并查看屏幕截图选项卡。您可以在此处截取屏幕截图并将其转换为 Default.png 图像。如果您想进一步编辑它,您可以使用 Preview 应用程序做一些事情,或者获取众多 Photoshop 变体之一。
    • 准备好后,将此问题标记为已回答。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多