【问题标题】:How to use Sleep in the application in iphone如何在 iPhone 的应用程序中使用睡眠
【发布时间】:2011-03-02 03:03:17
【问题描述】:

我习惯于在我的应用程序中加载默认图像。所以我已经开始了,

      Sleep(3); in my delegate.m class.

但有时需要超过 6 到 7 分钟。所以我只想显示图像 3 秒,然后根据我的要求进入我的应用程序。

哪一个是最好的方法?

     Sleep(3) or [NSThread sleepForTimeInterval:3.0] or something else; 

而且我必须只显示图像 3 秒。请解释一下。 (注意:我只在我的委托类中声明了 setter 和 getter 方法。)

请解释一下。

【问题讨论】:

    标签: iphone sleep


    【解决方案1】:

    Apple 强烈建议不要这样做(以这种方式使用睡眠),尤其是在显示闪屏的情况下。

    最好的办法是创建一个看起来像您的 Default.png 文件的视图,然后让它成为第一个 NIB .. 然后您可以设置一个 NSTimer 以过渡(如果需要,可以使用动画)到您的主视图/窗口/控制器。

    【讨论】:

    • +1 启动画面是个坏主意,除非它隐藏了一些必要的进程。
    【解决方案2】:

    正如 Rob 所指出的,Apple 强烈建议不要使用启动画面,除非它隐藏了一些必要的幕后过程(例如加载游戏图形)。强烈劝阻一些人声称他们的应用程序因使用不必要的闪屏。

    default.png 不存在用于创建启动屏幕。 相反,它的存在是为了让您产生一种错觉,即您的初始视图加载速度比实际加载速度快.您应该使用它来提供初始视图的图像,以便最终用户可以开始在认知上将自己定位到界面。当他们将自己定位到界面并移动手指触摸界面时,它就已经上线了。

    为什么?因为 iPhone 应用程序应该快进快出。人们不会坐下来在桌面上使用它们。人们在旅途中使用然后。有时他们会在谈话中使用它们。

    我告诉我的客户在走路、骑健身车等时以及在面对面和电话交谈中测试他们的应用程序(游戏除外)的可用性。在这种情况下,3 秒的停顿是一件大事,而且非常明显,尤其是在应用程序是实用应用程序的情况下。想象一下,如果您每次打开 Contact 应用程序时都必须暂停三秒钟才能看到 Apple 启动画面。你会急着生气。

    这里的关键是不必要的启动画面不会为用户增加任何价值。软件发行商为了自己的利益而建立品牌认知度,吃掉最终用户的时间是一种自私的行为。用户每次使用该应用程序时浪费了三秒钟的时间,这加起来很匆忙。 (根据我的经验,它也会让用户感觉到整个应用程序缓慢而笨重。)

    但是,如果您确实想在脚上开枪,或者如果您的客户一心想着启动画面,您可以这样做:

    在第一个视图加载之前会显示初始屏幕,因此您会延迟第一个视图的加载。在应用程序委托applicationDidFinishLaunching: 方法中,删除将第一个视图加载到窗口中的所有代码。用 NSTimer 替换它。将加载第一个视图的代码放在定时器的fire方法中。

    通过该设置,应用程序将在启动时显示 default.png,当它到达applicationDidFinishLaunching:时,从最终用户的角度来看,它似乎会暂停,因为不会出现任何视图来替换 default.png。

    您应该注意,应用的标准启动时间是 3-5 秒。因此,您可能无需执行任何操作即可显示 3 秒的初始屏幕。它可能会自动发生。

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 1970-01-01
      • 2014-05-15
      • 2019-07-18
      相关资源
      最近更新 更多