码迷,mamicode.com
首页 > 其他好文 > 详细

tableView优化思路

时间:2017-12-06 21:58:33      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:提前   释放   content   多次   you   交互   缓存   透明图   解码   

一般优化的思路:

  1. 提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法。

  2. 复杂界面可采用异步绘制。

  3. 在大量图片展示时,可以滑动时按需加载。

  4. 尽量少用或不用透明图层,多个透明元素重叠显示可采用合并成一张图片显示。

  5. 减少subviews的数量,如果是不需要交互可以使用CALayer 替换掉 UIView。

  6. heightForRowAtIndexPath:中尽量不使用cellForRowAtIndexPath:

  7. 根据场景合理使用imageWithContentsOfFile和imageNamed。

  8. 页面元素多的时候,减少autolayout布局,采用frame。

  9. 缓存NSDateFormatter结果,不多次创建,及时释放。

  10. 图片解码时,CALayer 被提交到 GPU 前,CGImage 中的数据才会得到解码,GPU执行,卡主线程。常见的做法是在后台线程先把图片绘制到 CGBitmapContext 中,然后从 Bitmap 直接创建图片。

  11. CALayer 的 border、圆角、阴影、遮罩(mask)触发的离屏渲染,可开启CALayer.shouldRasterize ,转嫁到CPU上或是截图或者采用图片实现。

  12. 使用RunLoop和多线程在闲时处理一些繁重的计算工作。

tableView优化思路

标签:提前   释放   content   多次   you   交互   缓存   透明图   解码   

原文地址:http://www.cnblogs.com/weiming4219/p/7994644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!