2016-04-12 12 views
0

iOS 9.3ではHKStatisticsCollectionQueryが非常に遅いようです。それは前に1つまたはそれ以下の時間を要した活動的なカロリーの1年間の毎時統計を返すために40秒以上かかる可能性があります。試行錯誤の多くの時間後iOS 9.3でHKStatisticsCollectionQueryを高速化するにはどうすればよいですか?

let predicate = HKQuery.predicateForSamplesWithStartDate(anchorDate, endDate: endDate, options: []) 
    let query = HKStatisticsCollectionQuery(quantityType: quantityType, 
     quantitySamplePredicate: predicate, 
     options: statisticOptions, 
     anchorDate: anchorDate, 
     intervalComponents: interval) 
+1

あなたの述語はどのように見えますか? – Wilmar

答えて

0

HKStatisticsCollectionQueryは友好スレッドされていないことを私が発見しました。私はこれを使用し、問題を解決するためにNSOperationを非同期:HKStatisticsCollectionQuerysを強制するために https://gist.github.com/calebd/93fa347397cec5f88233

そしてもちろんのNSOperationQueueを同期的に実行されます。いったんこれを実行すると、各クエリは半分以下の時間しかかかりませんでした。

+0

このクラスをどの程度正確に使用するか説明してください。ここにブログのリンクhttp://swiftgazelle.com/2016/03/asynchronous-nsoperation-why-and-how/がありますが、このクラスでデータを取得するためのクエリを実行する方法がわかりません。 –

関連する問題