先理解要优化的东西
-
减轻CPU负荷
1.1提前计算好cell的高度,缓存在相应的数据源模型中
1.2 尽可能的降低storyboard,xib等使用度
1.3 滑动过程中尽量减少重新布局 -
不要阻塞主线程
2.1 Color Blended Layers
2.2 Color Hits Green and Misses Red
2.3 Color Copied Images
2.4 Color Immediately
2.5 Color Misaligned Images
2.6 Color Offscreen-Rendered Yellow
2.7 Color OpenGL Fast Path Blue
先看看Cell的样式
-
活动类型
活动.png
-
普通酒款点评类型
酒款点评.png
-
网页推荐点评类型
网页推荐点评.png
大致的类型分为三种
然后把相似的内容和不相似的分类
-
用户信息栏
图片.png
-
点评信息栏
图片.png
-
文本内容
图片.png
- 文本支持##话题 网页链接,还有限制在6行内,多出内容...全文显示。
4.酒款信息栏
-
酒款类型
图片.png
-
活动类型有一个短标题
图片.png
-
网页文章
图片.png
-
底部操作栏
图片.png
总体而言分为5大部分,内容不算复杂。
按照上述模块,先计算好所有内容的高度位置等信息,避免滑动时多次计算。
-
先走流程,用Time profile 检测耗时的函数
image.png
定位到具体的函数,这样就简单多了。 把该计算的先计算,该缓存的缓存。
用公司测试机,iphone 6plus 16G 来测试。
gif5新文件.gif
总体而言修改后还是很流畅的。
简单的说一下如何修改吧
- 圆角处理,方法有几种
- 下载图片后,直接切成圆角显示。
- 生成一张圆角图,盖在上面需要圆角的图片上。 当然你可以自己缓存起来,方便使用
- 尽量不要使用xib,使用纯代码编写。
- 尽量处理好图层的关系,不要使用多余的View
- 图片下载SDWebImage性能不足,我这边选择了YYImage来替换
- 图片的ImageView不要动态生成。一次生成后,选择隐藏和位置调整
- 原来的小便签是用Label叠在一起,这次直接用富文本,避免了每次生成和设置边框等繁琐的操作。
- ...
总体而言,修改这个并不算复杂,主要是找对方向,网上有大量的文章,在修改前可以多阅读。










网友评论