iOS核心绘图:backboardd[26]<;错误>;:CoreAnimation:未能映射
我开发的iPad应用程序的核心情节有问题。我的整个应用程序都使用ARC 我的应用程序作为9个viewcontroller,在每个viewcontroller中都有一个包含2或3个散点图的核心图 在对这些视图进行8或9次迭代(前后)后,一些图形消失,iPad的错误日志显示如下:iOS核心绘图:backboardd[26]<;错误>;:CoreAnimation:未能映射,ios,ipad,core-animation,core-plot,Ios,Ipad,Core Animation,Core Plot,我开发的iPad应用程序的核心情节有问题。我的整个应用程序都使用ARC 我的应用程序作为9个viewcontroller,在每个viewcontroller中都有一个包含2或3个散点图的核心图 在对这些视图进行8或9次迭代(前后)后,一些图形消失,iPad的错误日志显示如下: Sep 7 18:12:24 Mio iPad BackboardDD[26]:CoreAnimation:未能映射2263232字节(3) 9月7日18:12:24 Mio iPad背板DD[26]:核心动画:缺少遮罩层
Sep 7 18:12:24 Mio iPad BackboardDD[26]:CoreAnimation:未能映射2263232字节(3)
9月7日18:12:24 Mio iPad背板DD[26]:核心动画:缺少遮罩层0x0
9月7日18:12:24 Mio iPad BackboardDD[26]:CoreAnimation:上下文中的序列化错误1173490153
9月7日18:12:24 Mio iPad BackboardDD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad BackboardDD[26]:CoreAnimation:未能映射2263232字节(3)
9月7日18:12:25百万iPad背板DD[26]:核心动画:缺少遮罩层0x0
9月7日18:12:25 Mio iPad BackboardDD[26]:CoreAnimation:上下文中的序列化错误1173490153
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
9月7日18:12:25百万iPad背板DD[26]:CoreAnimation:渲染错误506
在图表消失之前,我没有收到任何内存警告(didReceiveMemoryWarning)。
我也使用了分配工具,但在迭代过程中趋势并没有增长
奇怪的是:
如果我以这种方式运行应用程序:
view1-->view2-->view3-->view4-->view5-->view6-->view7
图形不会消失(在200次迭代之后)
如果我以这种方式运行应用程序:
view1-->view2-->view3-->view4-->view5-->view6-->view7-->view8
图在49次迭代后消失
如果我以这种方式运行应用程序:
view1-->view2-->view3-->view4-->view5-->view6-->view7-->view8-->上次查看
图在7次迭代后消失
我还想知道:
view3和view6、view4和view7、view5和view8是镜面反射的(它们是两个类,表示相同的图形,但变量不同)
这就是我创建dealloc方法的方式(因为我使用的是ARC),有什么问题吗
-(void)dealloc
{
touchPlotBall = nil; //(CPTScatterPlot)
dataSourceLinePlot= nil; //(CPTScatterPlot)
dataSourceSLinePlot = nil; //(CPTScatterPlot)
[scatterPlotViewValue removeFromSuperview]; //(CPTGraphHostingView)
scatterPlotViewValue=nil; //(CPTGraphHostingView)
[scatterPlotViewBall removeFromSuperview]; //(CPTGraphHostingView)
scatterPlotViewBall=nil; //(CPTGraphHostingView)
self.delegate = nil; //(id<view7ControllerDelegate> delegate;)
}
-(无效)解除锁定
{
touchPlotBall=nil;//(CPTSpatterPlot)
dataSourceLinePlot=nil;//(CPTSatterPlot)
dataSourceSLinePlot=nil;//(cptspatterplot)
[scatterPlotViewValue removeFromSuperview];/(CPTGraphHostingView)
scatterPlotViewValue=nil;//(CPTGraphHostingView)
[从SuperView移除散点图视图球];/(CPTGraphHostingView)
scatterPlotViewBall=nil;//(CPTGraphHostingView)
self.delegate=nil;//(id delegate;)
}
有人对这个问题有答案或建议吗
感谢您的建议我建议,只有在您的工作未按核心图完成时,才遵循我的答案 在过去,我也使用核心图,但这是一个有点复杂的过程 最好有另一种解决办法 就像您可以使用javascript、css、html一样,有了这些支持,您就可以轻松地将其作为html字符串加载到webview中,而且所需的工作量非常小
看看我开始使用的这个,对于ios开发人员来说,用更少的精力使用复杂多样的图表将是一件好事。您使用的是什么版本的Core Plot?我使用的是Core Plot 1.3,我还尝试使用上一个预发布版本,但没有解决问题。这个问题解决了吗?我用的是快速图表,但也有同样的错误。实际上,核心图运行良好,我的项目已经完成。我宁愿解决这个问题,而不是重新开发整个项目。
-(void)dealloc
{
touchPlotBall = nil; //(CPTScatterPlot)
dataSourceLinePlot= nil; //(CPTScatterPlot)
dataSourceSLinePlot = nil; //(CPTScatterPlot)
[scatterPlotViewValue removeFromSuperview]; //(CPTGraphHostingView)
scatterPlotViewValue=nil; //(CPTGraphHostingView)
[scatterPlotViewBall removeFromSuperview]; //(CPTGraphHostingView)
scatterPlotViewBall=nil; //(CPTGraphHostingView)
self.delegate = nil; //(id<view7ControllerDelegate> delegate;)
}