思路
做好预处理和缓存,利用好系统和语言特性,尽量减少动态运算,交互时按需加载;
总结
官方文档tableview使用建议
- 尽量少用不透明view;
- 避免重复布局;
- cell复用;
预处理与缓存
- 作用:提前处理好逻辑,直接准备好要显示的内容和逻辑状态(显示隐藏);
- 高度:预估,提前计算并缓存;
- image:直接获取image,而不是imageName赋值;image的size和imageView的size一样大;
- string:如完成或处理中,广东省-深圳市拼接;
- 提前创建好view:利用hidden;
技术选型
- 使用纯代码,而xib和storyboard需要转化;
- 尽量避免不必要的自动布局(Autolayout);
- 合理使用dispatch_onece_t和static(函数和变量);
- 避免不必要的离屏渲染;
- 减少view的层级和个数(如使用带属性的字符串);
- 异步加载(耗时操作,限制最大并发数),异步绘制(AsyncDisplayKit,其基本单元node是线程安全的);
网络
- 图片:wifi高清,手机网络普通;
按需加载
- reload 指定indexPath或者section,而不是整个列表;
- 加载目标范围内的cell;
性能监控
- CADisplayLink、runloop;