在后台线程中绘制UITablveViewCell,有可能吗?

时间:2012-08-30 02:07:35

标签: ios tableview

为了在滚动UItableView时获得更好的性能。我被建议在后台线程中绘制单元格。

但有人说,不建议在后台线程中更新UI,这可能会导致应用程序崩溃。

是否可以在后台线程中绘制单元格?

3 个答案:

答案 0 :(得分:1)

你可以在后台线程上绘制 - 然后将该绘图捕获为图像并将其发送回主线程;图像视图显示您在背景中绘制的图像。

如果您有权访问Apple开发者网站,请观看WWDC 2012视频“在iOS上构建并发用户界面”。您不希望实际布局UIView实例等,而只是使用各种Core Graphics绘图函数。

答案 1 :(得分:0)

你不能这样做,每个视图在前景时都会自己绘制,它在后台无效。

答案 2 :(得分:0)

在后台绘制用户界面不仅可以崩溃,但在大多数情况下使应用崩溃。

确保您使用dequeueReusableCellWithIdentifier:消息来获取单元格。

修改您的tableView:cellForRowAtIndexPath:代表以查找消耗大部分资源的内容。它可能是,e.q。硬UIImage处理或类似的东西。您应该考虑将所有处理,生成数据和此类事物移出您的单元格创建。仅在单元格中设置适当的数据并将其返回。我很确定它会大大减少你的性能问题。