当应用程序启动时,我初始化了一组上下文对象,这些对象包含许多与其他实体的关系。例如,
历史和我的曲目将包含一对多的轨道实体。它们(在我当前的实现中)是由主线程上的上下文管理的。
在应用程序运行时,跟踪实体是在后台创建的,并移动到History和My Track (它们位于不同的托管对象上下文中)。所有后台线程都有自己的托管对象上下文。然而,当我必须保存我的轨道的历史时,它需要在主上下文/主线程上。当主线程被阻塞以进行写入时,这会导致严重和不可接受的UI延迟。
有什么解决办法吗?
发布于 2012-03-19 12:14:46
有很多解决方案可供使用,我强烈建议在iTunes上查看过去两年的苹果公司的WWDC视频。我很好奇“为什么”你需要把我的足迹保存到主线程。它真的是“如果我不把它保存在那里,我的主要上下文不知道它”?如果是这样的话,有一些saveChange通知的方法,后台线程可以让主上下文知道特定的对象等等。
https://stackoverflow.com/questions/9594011
复制相似问题