AFIncrementalStore を試していますが、これは素晴らしいですが、パフォーマンスに問題があることに気付きました。
具体的には、Facebook グラフ API から多数の Facebook 友達情報を取得するために使用していますが、保存操作のクロックタイムがかなり遅いことがわかります。コンテキストとして、約 900 レコードを読み込んでいます。インスツルメンツは、問題の行はこれであると私に言っています:
NSManagedObjectID *backingObjectID = [self objectIDForBackingObjectForEntity:entity withResourceIdentifier:resourceIdentifier];
これはこれを呼び出します
[backingContext performBlockAndWait:^{
backingObjectID = [[backingContext executeFetchRequest:fetchRequest error:&error] lastObject];
}];
より大きなデータ セットで AFIncremental ストアを使用した経験がある人はいますか?
私がよく理解していない他の何かはperformBlockAndWait
、PrivateQueueConcurrencyType のコンテキストからの操作を使用してすべてが開始されるときに、このすべてのアクションがメインスレッドで発生する理由です。どんな助けでも大歓迎です!