1. 网络图片异步加载,SDWebImage。
  2. 文字直接 drawInRect/drawAtPoint 绘制,参考 ABTableViewCell,AdvancedTableViewCells。
  3. 本地图片也可以直接绘制,或者用 CALayer 来添加显示。
  4. cell 重用机制。
  5. cell 内容尽量避免透明效果。
  6. 如非必要,减少 reloadData 全部 cell,只 reloadRowsAtIndexPaths。
  7. 如果 cell 是动态行高,计算出高度后缓存。tableView 会在加载的时候把全部 cell 的高度通过heightForRowAtIndexPath: 都计算出来,即使 cell 还没有展示。
  8. 如果 cell content 的展示位置也不固定,第一次计算后也要缓存。
  9. cell 高度固定的话直接用 cell.rowHeight 设置高度,不要再实现tableView:heightForRowAtIndexPath: delegate.
  10. cell content 的解析操作(尤其是复杂的解析)异步进行+预执行,解析结果要缓存。
  11. 可以预先加载需要的网络资源(图片等),SDWebImagePrefetcher.

There are performance implications to using tableView:heightForRowAtIndexPath: instead of therowHeight property. Every time a table view is displayed, it calls tableView:heightForRowAtIndexPath: on the delegate for each of its rows, which can result in a significant performance problem with table views having a large number of rows (approximately 1000 or more). via Apple Document

转载自:http://fann.im/blog/2012/09/11/uitableview-optimization-notes/

转载于:https://www.cnblogs.com/Jenaral/p/5122018.html

UITableView 性能优化相关推荐

  1. UITableView性能优化与卡顿

    UITableView性能优化与卡顿问题 最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆 ...

  2. UITableView性能优化 - 中级篇

    老实说,UITableView性能优化 这个话题,最经常遇到的还是在面试中,常见的回答例如: Cell复用机制 Cell高度预先计算 缓存Cell高度 圆角切割 等等. . . 进阶篇 最近遇到一个需 ...

  3. IOS UITableView性能优化

    1.关于UITableView性能的优化,很容易就让人想起UITableView的复用,那么除此之外呢?还有么有其他的方法能够优化用户的体验,或者说优化我们的设计的软件呢? 答案是:有! 一般我们在设 ...

  4. 【原/转】UITableview性能优化总结

    UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时.本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文 ...

  5. UITableView性能优化

    影响 UITableView 滚动的流畅性的原因 1. 在代理方法中做了过多的计算占用了 UI 线程的时间 2.同上 3.Cell 中 view 的组织复杂 关于第一点,首先要明白 tableview ...

  6. [性能优化]UITableView性能优化的一点感悟及计算UILabel高度的新方法

    前言  在使用过程中发现,我们App的首页在快速滑动时会出现掉帧,以及在上拉加载更多时会抖动,因为首页模块是以前的同事写的,很多代码已不适应当前的需求,所以产生了优化的想法,优化主要分为以下几个方面: ...

  7. [性能优化]UITableView性能优化的一点感悟及计算UILabel高度的新方法 1

    前言 在使用过程中发现,我们App的首页在快速滑动时会出现掉帧,以及在上拉加载更多时会抖动,因为首页模块是以前的同事写的,很多代码已不适应当前的需求,所以产生了优化的想法,优化主要分为以下几个方面: ...

  8. UITableView性能提升和优化(第3章) 之一

    在本章,你将做下面这些事情: 在实例中使用第2章介绍的测试工具 在例子中一步一步的对滚动性能进行优化 使用以下技术对UITableView进行优化 1)  使用基本的技术优化UITableView中简 ...

  9. UITableVIew的性能优化-重用原理

    UITableVIew的性能优化:使用方法创建cell时,先优先从缓存池中找cell,找不到再创建新的cell,并且要绑定Identifer标示. 代码: -(UITableViewCell *)ta ...

最新文章

  1. 为什么Python发展这么快,有哪些优势?
  2. python读数据-python读取各种文件数据方法解析
  3. SAP UI5 - MVC
  4. 关于HP ILO 卡图形界面无响应的解决方案
  5. 秘密武器 | 看AnalyticDB如何强力支撑双十一
  6. adb打开网页_android 使用指定浏览器打开网页
  7. jq之text() html()
  8. 你不知道的 20+ Chrome Devtools 技巧!
  9. Bootstrap3.0学习第十二轮(导航、标签、面包屑导航)
  10. 巧用Procexp找出弹窗广告真凶
  11. FastStone Capture 画图吸色工具
  12. Laravel框架--路由
  13. win7 增加Internet时间服务器
  14. 第16章 起舞不落幕——与纹理映射的华丽邂逅
  15. android 仿微信加载框,Android仿微信网络加载弹出框
  16. Linux系统调用(syscall)原理(转载)
  17. VC中三种常见中文内码的转换方法(GB2312/GBK/BIG5)
  18. schedule函数浅析
  19. 关于引流脚本,你了解的引流脚本的优势有哪些?
  20. 整理的CAPL详细内容

热门文章

  1. 并行开发 —— 第六篇 异步编程模型
  2. C#操作xml之xpath语法
  3. 第十篇: Timer 控件
  4. .net程序员安全注意代码及服务器配置
  5. 好程序员web前端分享JS引擎的执行机制
  6. 团队项目计划BACKLOG
  7. linux /proc/cpuinfo文件分析
  8. Sybase用户登录以后的自动运行脚本
  9. Photoshop切图学习
  10. rstudio 管道符号_R中的管道指南