为了在滚动 UItableView 时获得更好的性能。有人建议我在后台线程中绘制单元格。
但是有人说,不建议在后台线程中更新 UI,这会导致应用程序崩溃。
是否可以在后台线程中绘制单元格?
您可以很好地在后台线程上绘图 - 然后将该绘图捕获为图像并将其发送回主线程;有一个图像视图显示您在背景中绘制的图像。
如果您有权访问 Apple 开发者网站,请观看 WWDC 2012 视频“在 iOS 上构建并发用户界面”。您不想实际布置 UIView 实例等,而只是使用各种 Core Graphics 绘图功能。
你不能这样做,每个视图都会在前景时绘制自己,它在背景中什么也不做。
在后台绘制 UI 不仅会崩溃,而且在大多数情况下会使应用程序崩溃。
确保您使用dequeueReusableCellWithIdentifier:
消息来获取单元格。
修改您的tableView:cellForRowAtIndexPath:
委托以找出消耗最多资源的内容。它可能是 eq 硬 UIImage 处理或类似的东西。您应该考虑将所有处理、生成数据等事情从您的单元创建中移出。仅在单元格中设置适当的数据并返回。我很确定它会大大减少您的性能问题。