代码之家  ›  专栏  ›  技术社区  ›  Cocoa Dev

如何加速我的iPad应用程序?

  •  0
  • Cocoa Dev  · 技术社区  · 15 年前
    Application Specific Information:
    com.oneorangetree.iphoneexample failed to launch in time 
    elapsed total CPU time (seconds): 3.500 (user 1.680, system 1.820), 17% CPU 
    elapsed application CPU time (seconds): 0.920, 5% CPU
    

    大约需要30秒才能完成。我怎样才能把它放在后台线程或其他东西来加速应用程序并防止崩溃(因为加载时间太长)

    2 回复  |  直到 15 年前
        1
  •  1
  •   paxswill    15 年前

    我用过 NSOperation / NSOperationQueue NSInvocationOperation 使方法调用变得非常容易,而且 操作队列 实际上是给你穿的。生成的方法必须是线程安全的,但这并不是很难做到。例如,您可以创建 操作队列 -init -viewDidLoad 方法,然后添加 把它送到队列里去。

    NSOperationQueue *opQueue = [[NSOperationQueue alloc] init];
    NSInvocationOperation *lengthyTask = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(processAddresses) object:nil];
    [opQueue addOperation:lengthyTask];
    [lengthyTask release];
    

    一件很酷的事情(特别是在桌面上)是在10.6(和ios4)上自动使用grandcentraldispatch。

        2
  •  1
  •   Daniel    15 年前

    是的,您可以使用后台线程,但是更好的方法是尽可能地预计算(或缓存)内容,这样加载时间就不会那么长。