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