0

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

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

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

4

3 回答 3

1

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

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

于 2012-08-30T03:29:59.953 回答
0

你不能这样做,每个视图都会在前景时绘制自己,它在背景中什么也不做。

于 2012-08-30T02:18:05.137 回答
0

在后台绘制 UI 不仅崩溃,而且在大多数情况下会使应用程序崩溃。

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

修改您的tableView:cellForRowAtIndexPath:委托以找出消耗最多资源的内容。它可能是 eq 硬 UIImage 处理或类似的东西。您应该考虑将所有处理、生成数据等事情从您的单元创建中移出。仅在单元格中设置适当的数据并返回。我很确定它会大大减少您的性能问题。

于 2012-08-30T02:47:39.247 回答