我正在使用CorePlot创建一个小的iPhone应用程序。该图由10条组成。不幸的是,y值可能在0到100万之间,因此我创建了一个具有相当大yRange的绘图空间

plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(yAxisStart)
                                                length:CPTDecimalFromDouble(yAxisLength)];

我正在体验的是,加载图形时,我的应用程序的运行速度确实很慢,而且我可以将这个问题确定为yAxisLength的相当大的值。我已经删除了y轴上刻度线的创建,但是性能仍然很差。谁能给我提示如何提高性能?

最佳答案

即使您不需要任何标签或刻度,也请确保更新标签参数。默认的标签策略会创建刻度线并将标签间隔为一个单位。这就是为什么大轴范围会使您的应用程序减速这么快的原因。它还为每个标签创建一个单独的Core Animation层。创建一百万个标签将花费很长时间,并且会占用大量内存。

如果不需要任何刻度或标签,请将标签策略设置为CPTAxisLabelingPolicyNone。否则,请对各种标签属性进行必要的调整(使用哪种标签属性取决于您选择的策略),以便在轴范围内有适当的刻度数。

10-08 12:13