iOS tableView 优化
2017-10-25 本文已影响79人
iChuck
- 看cell 是不是重用,而不是每次重建。
- 缓存cell 的高度,一般在model里。
- cell 尽量不要用view 尽量去drawRect
- 图片载入放入后台缓存起来(SDWebImage && YYImage)滚出屏幕的cell 直接cancel。
- 圆角、阴影之类的全部 bitmap 化,或者放到后台 draw 好了再拿来用。
- cell 的数据提前缓存好,不要用的时候再去文件读。
- 数据量太大来不及一次读完的做一个 load more cell 出来,尽量避免边滚边读数据,这样就算是双核的 CPU 也难保不会抽。
[UIImage imageWithContentOfFile:] 大图片不需要缓存的
[UIImage imageNamed:] 需要缓存的图片
estimatedRowHeight 方法。
myView.layer.drawAsynchronously = YES (对于一个view 需要多个draw 非常有用, 提升性能)
iOS 对png 有进行优化,加载的时候尽量用png 图片。
异步绘制cell