ios - 如何在 Objective C 中运行后台进程/多线程进程以获得更好的应用程序性能

  显示原文与译文双语对照的内容
0 0

执行后台进程,从电话访问地址簿并保存到本地sqlite3数据库中。 我在下面做过。

[self performSelectorInBackground:@selector(syncAddressBookToDB:) withObject:nil];
 - (void)syncAddressBookToDB:(id)sender
{
 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//accessing the address book and saving to the database.
 GVDBManager *objDB = [GVDBManager getSharedInstance];
 [objDB getContactsFromAddBook];
 [objDB syncPhoneBookWithVcardsTable];
 [pool drain];
}

是否有更好的方法来实现后台/多线程进程来提高我的应用程序的性能。 请大家为我提供更好的解决方案。

时间:原作者:3个回答

0 0

使用大型中心调度通常是一种更好和更推荐的方式来处理像这样的任务,这种任务使用了方法。 你可以这样做:

dispatch_queue_t loadQueue = dispatch_queue_create("Image loader", NULL);
dispatch_async(loadQueue, ^{
//Your code to run in the background here
});
原作者:
...