2010-12-23 105 views
0

我有一个带有自定义单元的UITableView。这些单元格包含每个OpenGL图形(图表)。当我滚动表格并隐藏单元格时,单元格开始销毁对象的过程,如GLViewController和GLView。正如你所知,GLView有这样的方法:destroyFramebuffer清除OpenGL图形的分配缓冲区。 当我尝试非常快速地滚动表格时发生问题。 请告诉我是这个框架的问题,它不能清除缓冲区或我怎么能解决这个问题?iOS上的OpenGl内存管理

回答

1

在表格单元中拥有多个GL视图是一个糟糕的主意。 每个GL视图都分配了大量内存,并且销毁GL缓冲区也花费了一些时间,在快速滚动过程中您可以看到什么。 您应该重新设计您的应用程序以仅使用一个GL视图(例如,将其隐藏起来,在其上构建图形,将图像捕捉到UIImage并仅在表格单元格中显示它)。

+0

我不能这样做,因为当绘制图形时,它有一个动画,并且有几种不同类型的图形,所以重新设计的想法并不真实。 – 2010-12-23 11:42:28