1

我需要使用累积聚合样式创建 HKQuantityType 月份的统计数据,例如在 Health App 中的年视图中。

HKStatisticsCollectionQuery 只能计算累积类型的总和。

现在如何运作。我正在制作 12 个 HKSampleQueries。每个任务都有一个谓词,其中包含一个月的开始和结束日期。然后我遍历每个查询结果以计算有样本的天数(一天可以包含多个样本)。准备好天数后,我将蛾子的总和除以天数。

主要问题是,如果我在一个飞蛾中获取所有样本,我会得到大约 10000 个样本。月数为 12,因此一年中的一个 Metric 大约有 120000 个样本。

我在后台线程中运行它,但在计算每个月的平均值时内存量约为 180mb,计算大约需要一分钟。

有没有可能在一个月内获得样本数量,按天摸索?我没有找到任何解决方案:(

4

1 回答 1

2

HKStatisticsCollectionQuery间隔一天试试。然后,您可以平均每天返回的总和。它应该比查询每个月的所有样本效率高出几个数量级(并且更正确,因为您需要考虑返回的重叠样本HKSampleQuery)。

于 2016-07-04T15:09:05.357 回答