ABAddressBookSave需要很长时间

时间:2014-01-01 11:07:18

标签: ios time abaddressbook

我正在尝试使用以下代码通过 ABAddressBook 保存未保存的联系人:

CFErrorRef error = NULL;
if (ABAddressBookHasUnsavedChanges(addressBook)) {
    ABAddressBookSave(addressBook, &error);
} else {
    ABAddressBookRevert(addressBook);
}

如果我尝试保存大约1000个联系人,则执行操作需要一分多钟。我在 Time Profiler 中运行了代码,它报告了 ABAddressBookSave 上单独经过的总时间的92%。

请帮我减少代码的时间复杂度。

1 个答案:

答案 0 :(得分:0)

我已将整个地址簿访问和我的应用程序的功能保存在不同的线程上(即dispatch_queue_async {})。因此,一些性能得到了增强。在一个月的请求之后,还记录了apple开发人员的问题并获得使用dispatch_queue的相同响应。希望它能帮到你! -