- DB层实现多读单写。
- Cache层实现LRU缓存。
- 消息存储设计字典+数组的方式;已经优化成数组+双指针合并有序数组+二分查找的方式(去重、有序、查找)。
- 高度缓存。
- 大小图切换,列表都是缩略图,点击放大才去加载大图。
- 滑动时不加载图片数据,视频封面等(RunLoop)。
- 子线程做图片解码,缓存。
- 减少富文本的转换。
- 群头像增加缓存(带来头像更新不及时)
- 异步渲染
a. 简单点的:使用异步渲染YYLabel支持
b. 复杂的:使用第三方框架Texture - 避免离屏渲染,后台线程先把图片绘制到 CGBitmapContext 中,增加缓存
- 对于没有交互的view使用CALayer替换
- 提前计算布局
网友评论